编译C ++项目时,
我收到了一个错误:
/usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crt1.o: In function `_start':
(.text+0xc): undefined reference to `__libc_csu_fini'
/usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crt1.o: In function `_start':
(.text+0x11): undefined reference to `__libc_csu_init'
....: undefined reference to `atexit'
collect2: error: ld returned 1 exit status
这是代码:
std::atexit(myExitFunction);
myExitFunction已被声明好。为什么会抱怨atexit?
答案 0 :(得分:0)
这是一个链接错误消息。编译器成功找到std::atexit()
的声明,但链接器找不到此函数的任何已编译定义。
尝试通过将此参数添加到链接器来链接您的代码:
-stdlib=libc++