我有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
可以完全工作从相对路径。
如何实现?
感谢。
答案 0 :(得分:1)
您可以使用链接器的-rpath
选项在二进制文件中包含运行时搜索路径信息(将传递给gcc作为-Wl,-rpath,
。
请注意,这通常不受分发维护者的欢迎,因为应该有一个系统范围的库搜索路径,因此可以及早发现冲突。