对'atexit'的未定义引用

时间:2012-11-28 10:38:16

标签: c++

编译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?

1 个答案:

答案 0 :(得分:0)

这是一个链接错误消息。编译器成功找到std::atexit()声明,但链接器找不到此函数的任何已编译定义

尝试通过将此参数添加到链接器来链接您的代码:

-stdlib=libc++