【发布时间】:2016-12-13 19:58:19
【问题描述】:
当我们用ld 链接可执行文件时,我们会给出可执行文件所依赖的库列表。这是这些库位置信息的唯一来源,还是作为元数据存储在目标文件中的依赖库的首选版本的一些信息?
具体问题是这样的:如果我链接两个依赖库lA 和lB,它们都依赖于第三个库lC,并且我将对这些库的引用放在链接行上。 lA 中的 C++ 类方法调用的 lC 版本似乎与 lB 中的类方法不同。这怎么可能?我通过查看gdb 中的回溯知道这一点。
【问题讨论】:
-
使用静态库,您所描述的不可能可能发生。因此,要么你的描述是错误的,要么你对观察结果的解释是错误的。不幸的是,您没有足够详细地描述任何一个来复制您的实验,因此无法提供进一步的帮助。编辑您的问题,显示一个最小的示例,所有内容都会显示出来。
标签: ld elf static-linking abi object-files