当 PKG_CONFIG_PATH 中列出文件夹时,pkg-config 找不到包文件

Ath*_*ark 6 linux gentoo package-management

这是我的 PKG_CONFIG_PATH 内容:

/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
Run Code Online (Sandbox Code Playgroud)

locate lv2.pc这是(lv2 是我尝试链接的库)的输出

/usr/local/lib/pkgconfig/lv2.pc
Run Code Online (Sandbox Code Playgroud)

但这是输出pkg-config --modversion lv2

Package lv2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `lv2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'lv2' found
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?我正在运行 gentoo 仅供参考。预先感谢您的帮助!

Ath*_*ark 1

PkgConfig 只能理解变量中文件夹的一个位置,这与 PATH 的语法不同。遗憾的是,您需要将其设置为所有.pc 文件所在的位置。

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
Run Code Online (Sandbox Code Playgroud)

  • 自 2013 年以来,这可能已发生变化,但当前的 pkg-config 联机帮助页表示“PKG_CONFIG_PATH”是一个以冒号分隔(UNIX)/以分号分隔(Windows)的搜索路径*列表*。因此,如果您在 ~/dev/qt/5.6/lib/pkgconfig 中有 Qt pkgconfig 目录,在 /usr/local/lib/pkgconfig 中有 grpc pkgconfig,则可以 `export PKG_CONFIG_PATH=~/dev/qt/5.6/lib /pkgconfig:/usr/local/lib/pkgconfig`。对我有用。 (3认同)