[英]Autotools - set path to library
在我的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 install安装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
并为vte
共享库以及您的应用程序测试环境设置LD_LIBRARY_PATH
。
因为,使用这种方法会生成libtool临时包装脚本,而不是可执行二进制文件。
libtool
始终为链接共享库的应用程序创建包装器脚本。 如果需要在Valgrind或gdb下运行应用程序,请参见此处以获取有关libtool
的--mode=execute
选项的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.