[RISOLTO] Problema compilazione C++ con gcc

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
DanBadJar
Linux 4.x
Linux 4.x
Messaggi: 1027
Iscritto il: ven 28 lug 2006, 19:27
Nome Cognome: Daniele Malavasi
Slackware: 13.1
Kernel: 2.6.34.1
Desktop: XFCE - Gnome
Località: Bologna
Contatta:

[RISOLTO] Problema compilazione C++ con gcc

Messaggio da DanBadJar »

Dopo aver dimenticato i tempi bui di Visual Basic su M$ e dopo più di un anno di sviluppo con PHP, mi è venuta voglia di riprovare a compilare qualcosa in C++ su Linux con GCC.

Il programma è il solito:

Codice: Seleziona tutto

#include <iostream.h>

main ()
{
 cout<<"Hello World!";
 return 0;
}
Come mai quando faccio gcc programma.cpp -o programma mi restituisce questi errori?

Codice: Seleziona tutto

/tmp/ccR6qwzM.o: In function `__static_initialization_and_destruction_0(int, int)':
programma.cpp:(.text+0x24): undefined reference to `std::ios_base::Init::Init()'
/tmp/ccR6qwzM.o: In function `__tcf_0':
programma.cpp:(.text+0x6b): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccR6qwzM.o: In function `main':
programma.cpp:(.text+0x8e): undefined reference to `std::cout'
programma.cpp:(.text+0x93): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccR6qwzM.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
Mi da questi problemi solo con il C++ e non con C.
Idee? Manina...please
Ultima modifica di DanBadJar il dom 27 gen 2008, 23:01, modificato 1 volta in totale.

Avatar utente
ccts2002
Linux 1.x
Linux 1.x
Messaggi: 155
Iscritto il: gio 9 nov 2006, 23:20
Località: milano - trieste - catania
Contatta:

Re: Problema compilazione C++ con gcc

Messaggio da ccts2002 »

o metti:

Codice: Seleziona tutto

#include <iostream.h>

main ()
{
std::cout << "Hello World!";
return 0;
}
oppure:

Codice: Seleziona tutto

#include <iostream.h>

using namespace std;

main ()
{
cout<<"Hello World!";
return 0;
}

Avatar utente
DanBadJar
Linux 4.x
Linux 4.x
Messaggi: 1027
Iscritto il: ven 28 lug 2006, 19:27
Nome Cognome: Daniele Malavasi
Slackware: 13.1
Kernel: 2.6.34.1
Desktop: XFCE - Gnome
Località: Bologna
Contatta:

Re: Problema compilazione C++ con gcc

Messaggio da DanBadJar »

Grazie per la risposta,
ho provato, ma fa uguale :?

Avatar utente
Gilmo
Linux 1.x
Linux 1.x
Messaggi: 171
Iscritto il: gio 18 gen 2007, 15:44
Slackware: 12
Località: Cavalese(TN)
Contatta:

Re: Problema compilazione C++ con gcc

Messaggio da Gilmo »

scrivere

Codice: Seleziona tutto

#include <iostream>
using namespace std;
o

Codice: Seleziona tutto

#include <iostream.h>
dovrebbe essere la stessa cosa...

credo che il problema sia dovuto al non specificato tipo del main che ritorna 0...

prova ad anteporre un

Codice: Seleziona tutto

int
al main()

Codice: Seleziona tutto

int main() {}
in definitiva proverei così:

Codice: Seleziona tutto

#include <iostream>

int main ()
{
std::cout<<"Hello World!";
return 0;
}

Avatar utente
DanBadJar
Linux 4.x
Linux 4.x
Messaggi: 1027
Iscritto il: ven 28 lug 2006, 19:27
Nome Cognome: Daniele Malavasi
Slackware: 13.1
Kernel: 2.6.34.1
Desktop: XFCE - Gnome
Località: Bologna
Contatta:

Re: Problema compilazione C++ con gcc

Messaggio da DanBadJar »

Ho provato (anche su una 12.0 vergine), ma da lo stesso identico errore che ho riportato sopra.

[EDIT]
Per la cronaca: ho usato g++ invece che gcc e funziona tutto perfettamente!
[/EDIT]

Avatar utente
Gilmo
Linux 1.x
Linux 1.x
Messaggi: 171
Iscritto il: gio 18 gen 2007, 15:44
Slackware: 12
Località: Cavalese(TN)
Contatta:

Re: Problema compilazione C++ con gcc

Messaggio da Gilmo »

Codice: Seleziona tutto

[andy@darkstar:~]$ cat a.cpp                                      (01-27 16:51)
#include <iostream>

int main ()
{
std::cout<<"Hello World!";
return 0;
}

[andy@darkstar:~]$ g++ a.cpp                                      (01-27 16:51)
[andy@darkstar:~]$ a.out                                          (01-27 16:51)
Hello World!
[andy@darkstar:~]$   
:-k

[edit] non avevo letto l'edit... comunque è ovvio se usi il gcc per sorgenti c++ :P [/edit]

Rispondi