2

libXX.so是否有手册或方法可用于从标题 YYY.h中找出哪个文件包含函数等?

例如:

我在里面包含了一个带有函数 foofunk() 的头文件 foo.h。但是链接器说未定义对 foofunk() 的引用。

笔记:

我想使用 Makefile 进行构建和链接过程。(GCC) 我的资源是用 C 语言编写的,但这应该不重要。

4

1 回答 1

5

使用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$'
于 2012-10-12T10:31:07.410 回答