0

我在使用 gcc 时遇到了这个奇怪的链接器错误,我认为当我使用 Visual Studio 时代码可以正常工作。

/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

我尽力发布任何代码,因为我认为它不是必需的,但如果有人觉得我会发布它。

4

1 回答 1

8

我的猜测是您正在使用gcc而不是g++链接您的程序。gcc除非您告诉它,否则不会包含 C++ 库;g++将要。

于 2012-04-13T11:23:05.863 回答