哪些功能包括图书馆?

Man*_*red 2 c linux linker makefile

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

例如:

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

注意:

我想使用Makefile进行构建和链接过程.(海湾合作委员会)我的消息来源是C,但这应该是不重要的.

Jan*_*Jan 5

使用objdump.

objdump -T library.so | grep ' Base ' | grep ' function_name$'
Run Code Online (Sandbox Code Playgroud)

现在循环遍历您怀疑定义给定函数的共享库,并使用objdump检查每个库.

for f in /usr/lib/lib*.so; do \
  objdump -T $f | grep ' Base ' | grep -q ' function_name$' && echo $f && break
done
Run Code Online (Sandbox Code Playgroud)

break如果您想要继续搜索,请删除,尽管找到了您正在寻找的库.

在静态库的情况下替代-T-t和摆脱之一grep秒.

objdump -t library.a | grep ' function_name$'
Run Code Online (Sandbox Code Playgroud)