【发布时间】:2022-10-19 19:17:31
【问题描述】:
我有一种情况,我们链接到某个共享库libfoo.so,而这又取决于libbar.so。如果我们直接链接依赖于libfoo.so 的可执行文件,我们会通过给出标志来编译它:
-L<location of libbar.so> -lfoo
但是,这会在系统路径中选择libbar.so,而不是在命令行上指定的位置,其中符号集不正确,导致未定义的引用。如果我们将命令更改为:
-L<location of libbar.so> -lfoo -lbar
右边的libbar.so 由ld 找到。这是可以预料的吗?我们如何告诉ld 在某个位置找到辅助依赖项而不显式链接到它?
【问题讨论】:
标签: ld