【发布时间】:2018-09-21 09:19:12
【问题描述】:
我在使用 pkg-config 将某些库链接到程序时遇到问题。问题是每个库中的“前缀”变量 pkg-config 文件 (*.pc) 被不需要的目录覆盖,导致构建程序找不到库的头文件和 lib 文件。
这里是“*.pc”文件之一,x264.pc:
prefix=/e/x264/x64-windows-rel
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
...
我从 MSYS2 终端运行这个:
pkg-config --cflags --debug x264
这是它追踪到的一些输出:
...
Parsing package file 'D:/msys64/usr/local/lib/pkgconfig\x264.pc'
line>prefix=/e/x264/x64-windows-rel
Variable declaration, 'prefix' overridden with 'D:/msys64/usr/local'
...
请注意,MSYS2 和 pkg-config 已更新到最新版本。
谁能告诉我为什么会发生这种情况以及如何在不将“前缀”重命名为其他名称的情况下解决问题。? 谢谢。
【问题讨论】:
-
为什么用这个路径配置libx264? x264.pc 的默认值为 prefix=/usr/local。或者你在问为什么用 'D:/msys64/usr/local' 覆盖?
-
你设置PKG_CONFIG_LIBDIR环境变量了吗?
-
@nobody555 在 pkg 文件中设置任何有效路径都是合法的,我想 pkg-config 找到我的路径而不是任何默认路径。我设置了 PKG_CONFIG_PATH 但没有设置 PKG_CONFIG_LIBDIR。
标签: x264 msys2 pkg-config