Mel*_*lon 4 c linker compilation ld dmalloc
尝试使用"dmalloc"编译和链接我的程序时遇到问题.
bin
+--dmalloc
include
+--dmalloc.h
lib
+--libdmalloc.a
+--libdmallocth.a
main.c
Run Code Online (Sandbox Code Playgroud)
我有以下目录结构
现在我尝试使用以下命令编译我的程序:
gcc -Iinclude -Llib -ldmalloc -DDMALLOC main.c
/tmp/ccSDFmWj.o: In function `main':
main.c:(.text+0x29): undefined reference to `dmalloc_malloc'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
好吧,我知道链接符号有问题,ld根本找不到对dmalloc_malloc的引用.然而...
nm lib/libdmalloc.a | grep dmalloc_malloc
0000000000001170 T dmalloc_malloc
0000000000000fe0 t dmalloc_malloc.part.6
Run Code Online (Sandbox Code Playgroud)
我很困惑......那个图书馆里有符号.为什么'ld'有问题?