libtool .la文件中的相对或独立路径

时间:2014-03-20 21:33:35

标签: compilation linker autotools libtool

我的.la文件在dependency_libs=部分和libdir=部分都有完整的路径名,这使我很难将我的库复制到另一台机器(相同的拱但路径结构不同) 。有什么解决方案,除了有一些脚本来破解.la文件以调整新机器上的路径?

==详细==

当我./configure; make; make install libfoo时,根据我使用--prefix--exec-prefixDESTDIR=标记的方式,我会获得一个条目读取libfoo.la的{​​{1}}文件,我将在与libdir=/dir1/lib相同的目录中包含实际.so个文件。一切都很顺利(就将libfoo.la链接起来而言),直到我将它们打包并放在另一台机器上。

假设我的第二台机器上有libfoo,这取决于libbar。当我使用libfoo标志查找-L/dir2/lib时,-lfoo编译/链接失败,因为libbar文件期望在libfoo.la中安装foo (来自第一台机器)当它实际上在/dir1/lib时。然后我需要用正确的路径替换所有/dir2/lib,这两个路径都可能很长而且很复杂。

dir1行也以类似的方式发挥作用。

如何避免此问题?

0 个答案:

没有答案