pkg-config找不到.pc文件,尽管它们在路径中

tod*_*ysm 10 macos pkg-config python-2.7 osx-lion

我在Mac OSX-Lion上看到了pkg-config的一个奇怪问题.当我运行我下载的模块的python设置时,我收到以下错误:

aspen:python toddysm$ sudo ./setup.py install
Password:
`pkg-config --libs --cflags cld` returns in error: 
Package cld was not found in the pkg-config search path.
Perhaps you should add the directory containing `cld.pc'
to the PKG_CONFIG_PATH environment variable
No package 'cld' found

The `cld` C++ library is absent from this system. Please install it.
Run Code Online (Sandbox Code Playgroud)

但是当检入/ usr/local/lib文件夹时,我看到libs和.pc文件位于pkgconfig子文件夹中

aspen:~ toddysm$ cd /usr/local/lib/
aspen:lib toddysm$ ls -al
total 2640
drwxr-xr-x  6 root  wheel      204 Jul  2 17:38 .
drwxr-xr-x  9 root  wheel      306 Jul  2 15:17 ..
-rwxr-xr-x  1 root  wheel  1339516 Jul  2 17:38 libcld.0.dylib
lrwxr-xr-x  1 root  wheel       14 Jul  2 17:38 libcld.dylib -> libcld.0.dylib
-rwxr-xr-x  1 root  wheel      918 Jul  2 17:38 libcld.la
drwxr-xr-x  3 root  wheel      102 Jul  2 17:38 pkgconfig
aspen:lib toddysm$ cd pkgconfig/
aspen:pkgconfig toddysm$ ls -al
total 8
drwxr-xr-x  3 root  wheel  102 Jul  2 17:38 .
drwxr-xr-x  6 root  wheel  204 Jul  2 17:38 ..
-rw-r--r--  1 root  wheel  279 Jul  2 17:38 cld.pc
Run Code Online (Sandbox Code Playgroud)

使用命令行将PKG_CONFIG_PATH设置为指向/ usr/local/lib /没有帮助.由于某种原因将其设置为〜/ .bash_profile会使pkg-config无法识别为命令.

我的假设是我错过了一些依赖但不确定是什么.在Linux上尝试相同时,我错过了Python Dev包python2.7-dev,但我不确定如何在Mac上检查这个(是否存在).

任何帮助将不胜感激.

Bre*_*ale 26

您可以使用以下命令列出pkg-config默认查找的目录:

pkg-config --variable pc_path pkg-config
Run Code Online (Sandbox Code Playgroud)

PKG_CONFIG_PATH需要/usr/local/lib/pkgconfig附加到变量的完整路径名.


Yas*_*oji 10

需要将环境变量export用于命令.尝试

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$ pkg-config --libs --cflags cld
Run Code Online (Sandbox Code Playgroud)