ああ、私は GCC と MAC と Makefile の初心者です。今日、私は MAC OS X と GCC 4.4.2 を使用して動的ライブラリを構築するつもりでしたが、.o ファイルをリンクすると、コンパイラは次のように文句を言います:
Undefined symbols:
"___emutls_get_address", referenced from:
_malloc in michael.o
_malloc in michael.o
ld: symbol(s) not found
この情報をグーグルで検索しましたが、結果がよくわかりません。シンボルが何を意味するのか、なぜ多くのプログラムでこのリンクエラーが発生するのか疑問に思います。また、このエラーの考えられる原因は何だろうかと思います。リンク コマンドは次のとおりです。
g++ -Dx86 -D_GNU_SOURCE -D_REENTRANT -Wall -m32 \
-fno-strict-aliasing -fno-pic -O3 -ggdb \
michael.o malloc_new.o -o libmichael.so \
-lpthread -lm -lstdc++ -shared