1

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 について不平を言うのでしょうか?

4

1 に答える 1

0

これはリンク エラー メッセージです。コンパイラは の宣言を正常に検出しましたが、リンカはこの関数のコンパイルされた定義std::atexit()を検出できません。

この引数をリンカーに追加して、コードをリンクしてみてください。

-stdlib=libc++
于 2012-11-28T11:07:29.213 に答える