Compilazione c++

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
Grifone
Linux 1.x
Linux 1.x
Messaggi: 114
Iscritto il: mer 17 ott 2007, 23:06
Slackware: 12.0
Località: Genova

Compilazione c++

Messaggio da Grifone »

Buongiorno a tutti, ho un problema sulla compilazione di un programma in c++.
Se lancio la compilazione, il configure mi da questo errore:

Codice: Seleziona tutto

checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for C++ compiler default output file name... 
configure: error: C++ compiler cannot create executables
See `config.log' for more details.
*** Uscito con stato: 77 ***
e nel file config.log ho questo testo:

Codice: Seleziona tutto

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.61.  Invocation command line was

  $ /home/fabio/Connect/configure 

## --------- ##
## Platform. ##
## --------- ##

hostname = Grifone
uname -m = i686
uname -r = 2.6.21.5-smp
uname -s = Linux
uname -v = #1 SMP Thu May 1 16:24:42 CEST 2008

/usr/bin/uname -p = Mobile AMD Sempron(tm) Processor 3400+
/bin/uname -X     = unknown

/bin/arch              = i686
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /usr/local/bin
PATH: /usr/bin
PATH: /bin
PATH: /usr/games
PATH: /usr/lib/java/bin
PATH: /usr/lib/java/jre/bin
PATH: /usr/lib/qt/bin
PATH: /usr/share/texmf/bin
PATH: .


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1967: checking for a BSD-compatible install
configure:2023: result: /usr/bin/ginstall -c
configure:2034: checking whether build environment is sane
configure:2077: result: yes
configure:2142: checking for gawk
configure:2158: found /usr/bin/gawk
configure:2169: result: gawk
configure:2180: checking whether make sets $(MAKE)
configure:2201: result: yes
configure:2508: checking for C++ compiler version
configure:2515: i586-mingw32msvc-c++ --version >&5
/home/fabio/Connect/configure: line 2516: i586-mingw32msvc-c++: command not found
configure:2518: $? = 127
configure:2525: i586-mingw32msvc-c++ -v >&5
/home/fabio/Connect/configure: line 2526: i586-mingw32msvc-c++: command not found
configure:2528: $? = 127
configure:2535: i586-mingw32msvc-c++ -V >&5
/home/fabio/Connect/configure: line 2536: i586-mingw32msvc-c++: command not found
configure:2538: $? = 127
configure:2561: checking for C++ compiler default output file name
configure:2588: i586-mingw32msvc-c++    conftest.cpp  >&5
/home/fabio/Connect/configure: line 2589: i586-mingw32msvc-c++: command not found
configure:2591: $? = 127
configure:2629: result: 
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "connect"
| #define VERSION "0.1"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:2636: error: C++ compiler cannot create executables
See `config.log' for more details.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=set
ac_cv_env_CC_value=i586-mingw32msvc-c
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=set
ac_cv_env_CXX_value=i586-mingw32msvc-c++
ac_cv_env_F77_set=
ac_cv_env_F77_value=
ac_cv_env_FFLAGS_set=
ac_cv_env_FFLAGS_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_path_install='/usr/bin/ginstall -c'
ac_cv_prog_AWK=gawk
ac_cv_prog_make_make_set=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /home/fabio/Connect/missing --run aclocal-1.9'
AMDEPBACKSLASH=''
AMDEP_FALSE=''
AMDEP_TRUE=''
AMTAR='${SHELL} /home/fabio/Connect/missing --run tar'
AR=''
AUTOCONF='${SHELL} /home/fabio/Connect/missing --run autoconf'
AUTOHEADER='${SHELL} /home/fabio/Connect/missing --run autoheader'
AUTOMAKE='${SHELL} /home/fabio/Connect/missing --run automake-1.9'
AWK='gawk'
CC='i586-mingw32msvc-c'
CCDEPMODE=''
CFLAGS=''
CPP=''
CPPFLAGS=''
CXX='i586-mingw32msvc-c++'
CXXCPP=''
CXXDEPMODE=''
CXXFLAGS=''
CYGPATH_W='echo'
DEFS=''
DEPDIR=''
ECHO='echo'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
F77=''
FFLAGS=''
GREP=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s'
LDFLAGS=''
LIBOBJS=''
LIBS=''
LIBTOOL=''
LN_S=''
LTLIBOBJS=''
MAKEINFO='${SHELL} /home/fabio/Connect/missing --run makeinfo'
OBJEXT=''
PACKAGE='connect'
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
RANLIB=''
SED=''
SET_MAKE=''
SHELL='/bin/sh'
STRIP=''
VERSION='0.1'
ac_ct_CC=''
ac_ct_CXX=''
ac_ct_F77=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE=''
am__fastdepCXX_TRUE=''
am__include=''
am__leading_dot='.'
am__quote=''
am__tar='${AMTAR} chof - "$$tardir"'
am__untar='${AMTAR} xf -'
bindir='${exec_prefix}/bin'
build=''
build_alias=''
build_cpu=''
build_os=''
build_vendor=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE}'
dvidir='${docdir}'
exec_prefix='NONE'
host=''
host_alias=''
host_cpu=''
host_os=''
host_vendor=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='/home/fabio/Connect/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='mkdir -p --'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='NONE'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE "connect"
#define VERSION "0.1"

configure: exit 77
Premettendo che il programma è un semplice main vuoto, e quindi privo di errori :D, cosa potrebbe esserci che non va?
Grazie per l'aiuto

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6631
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Compilazione c++

Messaggio da targzeta »

Queste due righe:
CC='i586-mingw32msvc-c'
CXX='i586-mingw32msvc-c++'
non mi suonano bene.Prova a lanciare:

Codice: Seleziona tutto

CXX=/usr/bin/g++ configure
e vedi se funziona.

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
mcosta
Linux 0.x
Linux 0.x
Messaggi: 54
Iscritto il: mar 15 giu 2004, 0:00
Nome Cognome: Massimo Costa
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: KDE 4.2.4
Località: Marano (NA)

Re: Compilazione c++

Messaggio da mcosta »

Codice: Seleziona tutto

configure:2515: i586-mingw32msvc-c++ --version >&5
Nel configure si fa riferimento al compilatore MSVC (MS Visual C++) sotto mingw.
Hai per caso lanciato Autoconf/Automake sotto Windows e ora provi a fare configure su LINUX?

Avatar utente
Grifone
Linux 1.x
Linux 1.x
Messaggi: 114
Iscritto il: mer 17 ott 2007, 23:06
Slackware: 12.0
Località: Genova

Re: Compilazione c++

Messaggio da Grifone »

spina ha scritto:Queste due righe:
CC='i586-mingw32msvc-c'
CXX='i586-mingw32msvc-c++'
non mi suonano bene.Prova a lanciare:

Codice: Seleziona tutto

CXX=/usr/bin/g++ configure
e vedi se funziona.

Spina

Se do il comando che mi hai detto te mi dice command not found mentre se non metto il config va, in ogni modo non mi ha risolto il problema purtroppo :(
mcosta ha scritto:Codice: Seleziona tutto
configure:2515: i586-mingw32msvc-c++ --version >&5



Nel configure si fa riferimento al compilatore MSVC (MS Visual C++) sotto mingw.
Hai per caso lanciato Autoconf/Automake sotto Windows e ora provi a fare configure su LINUX?
No, non ho mai fatto una cosa del genere sotto win :(

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6631
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Compilazione c++

Messaggio da targzeta »

Grifone ha scritto:...
Se do il comando che mi hai detto te mi dice command not found mentre se non metto il config va, in ogni modo non mi ha risolto il problema purtroppo :(
...
Cioé, non hai il g++?
Se fai

Codice: Seleziona tutto

which g++
? Che ti da in output?

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
Grifone
Linux 1.x
Linux 1.x
Messaggi: 114
Iscritto il: mer 17 ott 2007, 23:06
Slackware: 12.0
Località: Genova

Re: Compilazione c++

Messaggio da Grifone »

spina ha scritto:
Grifone ha scritto:...
Se do il comando che mi hai detto te mi dice command not found mentre se non metto il config va, in ogni modo non mi ha risolto il problema purtroppo :(
...
Cioé, non hai il g++?
Se fai

Codice: Seleziona tutto

which g++
? Che ti da in output?

Spina

il risultato è

Codice: Seleziona tutto

/usr/bin/g++
credo di averlo il compilatore, su c funziona è sul c++ che mi da problemi

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6631
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Compilazione c++

Messaggio da targzeta »

Scusa, ma se dai

Codice: Seleziona tutto

CXX=/usr/bin/g++ configure
quale comando ti dice che non trova? C'è qualcosa che non sto capendo :). Non potresti linkare l'intero programma, che ne sò, magari facendo un archivio tar della directory. Tanto da quanto ho capito deve essere un tuo programma giusto?

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
Grifone
Linux 1.x
Linux 1.x
Messaggi: 114
Iscritto il: mer 17 ott 2007, 23:06
Slackware: 12.0
Località: Genova

Re: Compilazione c++

Messaggio da Grifone »

spina ha scritto:Scusa, ma se dai

Codice: Seleziona tutto

CXX=/usr/bin/g++ configure
quale comando ti dice che non trova? C'è qualcosa che non sto capendo :). Non potresti linkare l'intero programma, che ne sò, magari facendo un archivio tar della directory. Tanto da quanto ho capito deve essere un tuo programma giusto?

Spina
Si, io ve lo posso anche postare ma è un semplice main vuoto :D
Il comando che non mi vede è CXX=/usr/bin/g++ configure ma se do CXX=/usr/bin/g++ allora me lo vede. Per non mi ha cambiato niente.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6631
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Compilazione c++

Messaggio da targzeta »

Quello che volevo che tu provassi, era di entrare nella directory dove hai il configure, e lanciare:

Codice: Seleziona tutto

CXX=/usr/bin/g++ ./configure
, ovvero lanciare il configure facendogli avere nel suo ambiente la variabile CXX impostata a /usr/bin/g++.

Non so se mi sono spiegato (come dissa la vela al vento). Per quanto riguarda il main vuoto, non era il programma che mi interessava, ma tutto quello che c'è intorno, il configure e compagnia bella.

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
Grifone
Linux 1.x
Linux 1.x
Messaggi: 114
Iscritto il: mer 17 ott 2007, 23:06
Slackware: 12.0
Località: Genova

Re: Compilazione c++

Messaggio da Grifone »

spina ha scritto:Quello che volevo che tu provassi, era di entrare nella directory dove hai il configure, e lanciare:

Codice: Seleziona tutto

CXX=/usr/bin/g++ ./configure
, ovvero lanciare il configure facendogli avere nel suo ambiente la variabile CXX impostata a /usr/bin/g++.

Non so se mi sono spiegato (come dissa la vela al vento). Per quanto riguarda il main vuoto, non era il programma che mi interessava, ma tutto quello che c'è intorno, il configure e compagnia bella.

Spina
Allora provo a fare come mi hai detto te, Se non riesco i posto tutto.
Grazie

Avatar utente
Grifone
Linux 1.x
Linux 1.x
Messaggi: 114
Iscritto il: mer 17 ott 2007, 23:06
Slackware: 12.0
Località: Genova

Re: Compilazione c++

Messaggio da Grifone »

spina ha scritto:Quello che volevo che tu provassi, era di entrare nella directory dove hai il configure, e lanciare:

Codice: Seleziona tutto

CXX=/usr/bin/g++ ./configure
, ovvero lanciare il configure facendogli avere nel suo ambiente la variabile CXX impostata a /usr/bin/g++.

Non so se mi sono spiegato (come dissa la vela al vento). Per quanto riguarda il main vuoto, non era il programma che mi interessava, ma tutto quello che c'è intorno, il configure e compagnia bella.

Spina
Ok, dando il configure in questo modo tutto funziona, ho una domanda: come faccio adesso a impostargli di default quella variabile su /urs/bin/g++ per tutti i progetti che farò? P.S. Uso kdevelop.
Grazie mille e grazie tante a spina

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6631
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Compilazione c++

Messaggio da targzeta »

Quello che pensavo, e quindi il motivo per cui ti ho detto di eseguire quel comando, era che tu stavi facendo delle prove per gli autotools più che scrivere un programma. Comunque l'errore dovrebbe essere nel file configure.ac, quando gli dici di controllarti il compilatore.

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Rispondi