在我的debian系统中有一个已安装的库。
我不想修补程序库和使用它的应用程序。
所以,我下载了图书馆和应用程序包的源代码。然后我修补了一个库并构建了它(没有将它安装到系统中)。
现在,当我./configure应用程序时,自动工具会检测系统版本的库,而不是我的库。
所以,我确实./configure CFLAGS=-I/home/aquirel/dev/vte-0.28.2/src LDFLAGS=-L/home/aquirel/dev/vte-0.28.2/src/.libs
还有什么更聪明的方法吗?
因为,使用这种方法生成libtool临时包装脚本,而不是可执行的二进制文件。
而且,在应用程序中测试之前,我不想在系统中安装库的修补版本。

最佳答案

您可以使用DESTDIR安装安装vte包:

$ cd /home/aquirel/dev/vte-0.28.2
$ make DESTDIR=/home/aquirel/dev/test-vte install

这将把所有头文件/库安装到/home/aquirel/dev/test-vte中,就好像它是/一样。您必须以不同的方式设置configure的路径:
$ ./configure CFLAGS=-I/home/aquirel/dev/test-vte/usr/local/include LDFLAGS=-L/home/aquirel/dev/test-vte/usr/local/lib

并为共享库和应用程序测试环境设置LD_LIBRARY_PATH
因为,使用这种方法生成libtool临时包装脚本,而不是可执行的二进制文件。
vte始终为链接共享库的应用程序创建包装脚本。如果需要在Valgrind或gdb下运行应用程序,请参阅此处以获取有关libtoollibtool选项的更多信息。

关于linux - 自动工具-设置库的路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20858617/

10-10 17:52