我按照 GTK 的教程使用此命令来生成构建标志:
$ pkg-config --cflags --libs gtk+-3.0
这会输出一致的标志。通过研究,我发现在、、等效项以及变量指示的文件夹中pkg-config
搜索文件。.pc
/usr/lib/pkginfo
usr/share/pkgconfig
/local
PKG_CONFIG_PATH
所有文件夹均不包含 GTK 文件,且未设置环境变量。哪里可以获得pkg-config
旗帜?
答案1
手册页中给出了一些很好的技巧,可以从其pkg-config
自身获取此信息。
PKG-CONFIG DERIVED VARIABLES
pc_path
The default search path used by pkg-config when searching for
.pc files. This can be used in a query for the pkg-config module
itself itself:
$ pkg-config --variable pc_path pkg-config
pcfiledir
The installed location of the .pc file. This can be used to
query the location of the .pc file for a particular module, but
it can also be used to make .pc files relocatable.
例如,要查看您的系统/架构的实际搜索路径:
$ pkg-config --variable pc_path pkg-config | tr ':' '\n'
/usr/local/lib/x86_64-linux-gnu/pkgconfig
/usr/local/lib/pkgconfig
/usr/local/share/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/pkgconfig
/usr/share/pkgconfig
.pc
并获取特定包文件的位置
$ pkg-config --variable pcfiledir gtk+-3.0
/usr/lib/x86_64-linux-gnu/pkgconfig
答案2
它正在找到它们/usr/lib/x86_64-linux-gnu/pkgconfig/gtk+-3.0.pc
(假设您正在使用amd64
)。在 Debian 上,pkg-config
还会搜索目标的多架构目录,IE /usr/lib/$(dpkg-architecture -q DEB_TARGET_MULTIARCH)/pkgconfig
。