我最近一直在从 Mac 上的 GNOME 源安装大量库。它们使用 pkg-config。
每次我运行 configure 时,它都会抱怨找不到我安装到 /usr/local/lib 的库 XYZ。我完成 configure 过程的唯一方法是使用 MacPorts 重新安装软件包。
我如何让 pkg-config 查看默认的 /usr/local/lib?设置 PKG_CONFIG_PATH 似乎不起作用。
答案1
我搞明白了。显然,使用 pkg-config 的软件包会在解压库 Y 的源代码后创建最高级别的目录中的 .pc 文件。
然后,如果库 Z 抱怨它找不到库 Y,并且它使用 pkg-config,则将 PKG_CONFIG_PATH 变量设置为指向包含 .pc 文件的目录。
在我的例子中,libxml++ 依赖于 libxml2,因此在配置 libxml++ 时,我必须将路径指向 libxml2 创建的 .pc 文件:
export PKG_CONFIG_PATH=/Users/ryan/SVN/packages/libxml2-2.7.3/
然后配置就可以正确工作了。
答案2
您必须将 PKG_CONFIG_PATH 设置为库的准确位置,例如 xyz.so 不在 /usr/lib 中而是在 /usr/lib/xyz 中,因此您需要扩展路径以将其包含其中...
export PKG_CONFIG_PATH = $PKG_CONFIG_PATH:/usr/lib/xyz
斯图尔特