编译依赖查询工具
pkg-config 读取 .pc 文件,输出库的编译/链接参数,帮助构建系统找到头文件和库。它不安装依赖,只查询已安装的元数据。
pkg-config --cflags glib-2.0
pkg-config --libs glib-2.0
pkg-config --cflags --libs openssl
pkg-config --modversion openssl
pkg-config --exists openssl && echo yes
pkg-config --static --libs libcurl
PKG_CONFIG_PATH=/opt/app/lib/pkgconfig pkg-config --cflags app
pkg-config --list-all
| 变量 | 含义 |
|---|---|
PKG_CONFIG_PATH |
额外 .pc 搜索路径 |
PKG_CONFIG_LIBDIR |
替代默认搜索路径 |
PKG_CONFIG_SYSROOT_DIR |
交叉编译 sysroot |
PKG_CONFIG_ALLOW_SYSTEM_CFLAGS |
保留系统路径 |
.pc 文件在默认路径或 PKG_CONFIG_PATH。--static 会带上私有依赖;动态链接时不要滥用。Requires.private 和 Requires 影响静态/动态链接结果。pkg-config --atleast-version 等,不要只解析字符串。.pc 冲突时检查搜索顺序和环境变量。pkg-config — 依赖查询cmake / meson — 构建系统集成ldconfig — 运行时库路径