哦,我是 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