假设我们有一个名为utils.so的共享库。它可能包含未定义的符号。还假设ldd报告此库依赖于某些其他库:
$ ldd utils.so
library1.so
library2.so
...
libraryN.so
(有没有可能utils.so不仅依赖于某些共享lib,还依赖于某些静态lib?)
是否所有未定义的utils.so符号都由库library1.so,library2.so…解析?,图书馆。那么?
关于静态库的同一个问题-是否所有未定义的静态库符号都由ldd报告的库解决?
最佳答案
是否所有未定义的utils.so符号都由库library1.so,library2.so…解析?,图书馆。
不一定。您可以创建一个没有依赖项但带有未定义符号的共享库。如果符号是由可执行文件(或已加载的共享库)提供的,则这样的库可以正常工作,否则将无法加载。不建议创建此类库,除非需要针对可执行文件解析符号。
关于静态库的同样问题ldd
与静态库无关,它无法读取它们或报告任何有关它们的信息。静态库没有依赖项。它们或多或少是一些愚蠢的物品档案。
关于linux - ldd是否报告库的所有依赖关系?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53969125/