如何在linux系统之外使用替代库

时间:2013-04-02 01:53:28

标签: autotools autoconf automake

我正在构建一个由GNU autoconf配置的开源项目。这取决于glib2.36,它报告glib库的版本低于那个。但我不想在“/ usr / lib”的路径中替换我的系统的glib。我的想法是下载glib2.36并从头开始构建并将其安装到“$ HOME / local”。然后我想使用--prefix = $ HOME / local。

配置项目
    $cd ~/tmp/glib-2.36.0$
    $./configure  --prefix=$HOME/local
    $make
    $make install

    $cd ~/tmp/project
    $./configure --prefix=$HOME/local

但它仍然报告“检查GLIB - 版本> = 2.36.0 ...否” 我该如何解决?

2 个答案:

答案 0 :(得分:1)

--prefix没有指定./configure查找库的位置。它设置运行make install时安装文件的位置。 ./configure --help会向您显示更多选项。

如果使用pkg-config,则无法设置GLIB_CFLAGSGLIB_LIBS env变量来更改特定包的路径。

但你先检查./configure --help

答案 1 :(得分:1)

假设您的项目使用pkg-config和PKG_CHECK_MODULES宏,您可以查看pkg-config查找.pc文件的位置:pkg-config --variable pc_path pkg-config

您可以通过设置PKG_CONFIG_PATH变量为pkg-config指定路径首先。因此,您可以使用以下内容调用configure:

env PKG_CONFIG_PATH="$HOME/local/pkgconfig" ./configure --prefix=$HOME/local