2012-04-13 4 views
0

ich diese seltsamen Linker-Fehler immer gcc, dachte der Code funktioniert gut, wenn ich Visual Studio verwenden ..GCC seltsame Linkerfehler .. funktionieren auf Visual Studio 2010

/tmp/ccfcdCxg.o: In function `global constructors keyed to main': 
codechef_permut2.cpp:(.text+0xa): undefined reference to `std::ios_base::Init::Init()' 
codechef_permut2.cpp:(.text+0x19): undefined reference to `std::ios_base::Init::~Init()' 
/tmp/ccfcdCxg.o: In function `ambig(unsigned long)': 
codechef_permut2.cpp:(.text+0x47): undefined reference to `operator new[](unsigned long)' 
codechef_permut2.cpp:(.text+0x52): undefined reference to `operator new[](unsigned long)' 
/tmp/ccfcdCxg.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' 
collect2: ld returned 1 exit status 

ich vermöge keinen Code schreiben, weil ich denke, es ist nicht erforderlich, aber wenn jemand fühlt, werde ich es posten.

+1

In diesem Fall werde ich die Antwort nicht posten, weil ich denke, dass es nicht erforderlich ist – jalf

+2

Verknüpfen Sie mit 'gcc' oder' g ++ '? –

+1

Könnten Sie bitte zeigen, wie der Compiler aufgerufen wird? Beim Kompilieren von C++ - Code mit gcc anstelle von g ++ können Verknüpfungsfehler auftreten. –

Antwort

8

Meine Vermutung ist, dass Sie gcc statt g++ verwenden, um Ihr Programm zu verknüpfen. gcc enthält die C++ - Bibliothek nicht, wenn Sie es nicht angeben; g++ wird.

+0

Ja, benutze gcc .. Ich dachte, gcc wird mit selbst C++ funktionieren – questions

+1

@questions: Es wird C++ kompilieren; aber wenn Sie es verwenden, um Ihr Programm zu verknüpfen, wird es die C++ - Bibliothek nicht enthalten. Im Allgemeinen sollten Sie 'g ++' für C++ und 'gcc' für C verwenden. –

+0

Danke .. es funktioniert. – questions