1

我有我的soft.c,我成功编译它并将它链接到/usr/lib/myLib.so.

一切都很好,除了它不是我想要的,我想管理考虑链接的最终路径,换句话说,我希望 GCC 考虑库/usr/lib/myLib.so,但我也希望最终链接成为相对路径,有点像../myLib.so.

通常的情况是

./soft链接到->/usr/lib/myLib.so

我想

./soft链接到->../myLib.so

显然,我还需要 GCC 来管理任何交叉引用的库,例如,如果/usr/lib/myLib.so链接到其他库,我希望所有涉及的库都重新定位在相对路径中,以便../myLib.so可以从相对路径完全工作。

如何做到这一点?

谢谢。

4

1 回答 1

1

您可以在二进制文件中包含运行时搜索路径信息,使用-rpath链接器的选项(作为-Wl,-rpath,.

请注意,发行版维护人员通常不赞成这样做,因为应该有一个单一的系统范围的库搜索路径,以便及早发现冲突。

于 2012-11-16T17:35:18.247 回答