pkg-config 和 OSX 10.8,正确的 PKG_CONFIG_PATH?缺少 .pc 文件?

Posted

技术标签:

【中文标题】pkg-config 和 OSX 10.8,正确的 PKG_CONFIG_PATH?缺少 .pc 文件?【英文标题】:pkg-config and OSX 10.8, proper PKG_CONFIG_PATH? Missing .pc files? 【发布时间】:2012-08-23 12:49:40 【问题描述】:

我在 OSX 中使用 homebrew 安装了 pkg-config。我不确定我应该将 PKG_CONFIG_PATH 设置为什么?它应该是 /usr/include 和 /usr/local/include 的组合吗?即使我使用其中一个,我也会收到关于没有任何 .pc 文件的错误,我认为它会包含 pkg-config 使用的信息?不知道我做错了什么。帮助表示赞赏。

$ pkg-config --libs libxml2  
Package libxml2 was not found in the pkg-config search path.  
Perhaps you should add the directory containing `libxml2.pc'  
to the PKG_CONFIG_PATH environment variable  
No package 'libxml2' found

更新: 所以也许我在问两个不同的问题。我只是卷曲 gsl 并运行了 ./configure && make && sudo make install。而对于一个空的 $PKG_CONFIG_PATH,我实际上得到了一个打击:

pkg-config --libs gsl  
-L/usr/local/lib -lgsl -lgslcblas -lm

但列出 /usr/local/lib 会显示 gsl 库但没有 .pc 文件。 pkg-config 如何适用于 OSX 中的自定义安装包而不是默认安装的包???

【问题讨论】:

【参考方案1】:

echo "export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib" >> ~/.bashrc && source ~/.bashrc

用说 glib 进行测试:

brew install glib && pkg-config --libs --cflags glib-2.0

应该给你货:

-I/usr/local/Cellar/glib/2.34.3/include/glib-2.0 -I/usr/local/Cellar/glib/2.34.3/lib/glib-2.0/include -I/usr/local/Cellar/gettext/0.18.2/include  -L/usr/local/Cellar/glib/2.34.3/lib -L/usr/local/Cellar/gettext/0.18.2/lib -lglib-2.0 -lintl

【讨论】:

【参考方案2】:

我无法在上面尼克的回答中添加澄清评论,但这是您需要的正确路径集,我已成功尝试在 osx 10.9.1 上使用自制软件。

如果您希望它与 IDE 等 GUI 应用程序一起使用,您需要将该路径添加到 /etc/launchd.conf

请参阅以下堆栈溢出注释: Setting environment variables in OS X?

【讨论】:

以上是关于pkg-config 和 OSX 10.8,正确的 PKG_CONFIG_PATH?缺少 .pc 文件?的主要内容,如果未能解决你的问题,请参考以下文章

OSX 10.8 服务器和 nginx:如何让 nginx 站点并排显示?

libev-4.15 无法在 OSX 10.8 上编译

OSX 首选项文件 - removePersistentDomainForName 在 10.8 中具有不同的功能?

建议:2008 Mac w/OSX 10.8 host w/Virtualbox guest Ubuntu 12.04 设置 python、scikit-learn 和其他 ML 工具

在 osx 10.8 上安装 mysql-python 时找不到“my_config.h”文件

将 mac osx 10.8 上的 GDB 从 6.3 更新到 7.*