Repository 32bit  Forum
Repository 64bit  Wiki

[RISOLTO] Problema compilazione C++ con gcc

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Specificare sempre il tipo di shell (bash, sh, csh, etc...)
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 dell'ultima regola porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

[RISOLTO] Problema compilazione C++ con gcc

Messaggioda DanBadJar » dom gen 27, 2008 23:08

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 lun gen 28, 2008 0:01, modificato 1 volta in totale.
Avatar utente
DanBadJar
Linux 3.x
Linux 3.x
 
Messaggi: 1027
Iscritto il: ven lug 28, 2006 19:27
Località: Bologna
Nome Cognome: Daniele Malavasi
Slackware: 13.1
Kernel: 2.6.34.1
Desktop: XFCE - Gnome

Re: Problema compilazione C++ con gcc

Messaggioda ccts2002 » dom gen 27, 2008 23:22

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
ccts2002
Linux 2.0
Linux 2.0
 
Messaggi: 155
Iscritto il: ven nov 10, 2006 0:20
Località: milano - trieste - catania

Re: Problema compilazione C++ con gcc

Messaggioda DanBadJar » dom gen 27, 2008 23:31

Grazie per la risposta,
ho provato, ma fa uguale :?
Avatar utente
DanBadJar
Linux 3.x
Linux 3.x
 
Messaggi: 1027
Iscritto il: ven lug 28, 2006 19:27
Località: Bologna
Nome Cognome: Daniele Malavasi
Slackware: 13.1
Kernel: 2.6.34.1
Desktop: XFCE - Gnome

Re: Problema compilazione C++ con gcc

Messaggioda Gilmo » dom gen 27, 2008 23:36

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
Gilmo
Linux 2.0
Linux 2.0
 
Messaggi: 171
Iscritto il: gio gen 18, 2007 16:44
Località: Cavalese(TN)
Slackware: 12

Re: Problema compilazione C++ con gcc

Messaggioda DanBadJar » dom gen 27, 2008 23:47

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

Re: Problema compilazione C++ con gcc

Messaggioda Gilmo » dom gen 27, 2008 23:52

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]
Avatar utente
Gilmo
Linux 2.0
Linux 2.0
 
Messaggi: 171
Iscritto il: gio gen 18, 2007 16:44
Località: Cavalese(TN)
Slackware: 12


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti

cron