Pagina 1 di 1

[RISOLTO] Problema compilazione C++ con gcc

Inviato: dom 27 gen 2008, 22:08
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

Re: Problema compilazione C++ con gcc

Inviato: dom 27 gen 2008, 22:22
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;
}

Re: Problema compilazione C++ con gcc

Inviato: dom 27 gen 2008, 22:31
da DanBadJar
Grazie per la risposta,
ho provato, ma fa uguale :?

Re: Problema compilazione C++ con gcc

Inviato: dom 27 gen 2008, 22:36
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;
}

Re: Problema compilazione C++ con gcc

Inviato: dom 27 gen 2008, 22:47
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]

Re: Problema compilazione C++ con gcc

Inviato: dom 27 gen 2008, 22:52
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]