我的.la
文件在dependency_libs=
部分和libdir=
部分都有完整的路径名,这使我很难将我的库复制到另一台机器(相同的拱但路径结构不同) 。有什么解决方案,除了有一些脚本来破解.la
文件以调整新机器上的路径?
==详细==
当我./configure; make; make install
libfoo
时,根据我使用--prefix
,--exec-prefix
和DESTDIR=
标记的方式,我会获得一个条目读取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
行也以类似的方式发挥作用。
如何避免此问题?