libXX.so
是否有手册或方法可用于从标题 YYY.h中找出哪个文件包含函数等?
例如:
我在里面包含了一个带有函数 foofunk() 的头文件 foo.h。但是链接器说未定义对 foofunk() 的引用。
笔记:
我想使用 Makefile 进行构建和链接过程。(GCC) 我的资源是用 C 语言编写的,但这应该不重要。
使用objdump。
objdump -T library.so | grep ' Base ' | grep ' function_name$'
现在遍历您怀疑定义给定函数的共享库并使用 objdump 检查每个共享库。
for f in /usr/lib/lib*.so; do \
objdump -T $f | grep ' Base ' | grep -q ' function_name$' && echo $f && break
done
break
如果您在找到您要查找的库的情况下仍想继续搜索,请删除。
在静态库的情况下,用 s 替换-T
并-t
删除其中一个grep
。
objdump -t library.a | grep ' function_name$'