CentOS7下pkg-config可识别zlib但无法获取其头文件路径问题
pkg-config --cflags zlib 无输出的原因
你遇到的是正常行为,并非配置问题。
核心原因
当includedir指向的是编译器默认扫描的头文件路径时(比如你的/usr/include),pkg-config会自动省略-I${includedir}参数的输出——因为gcc等编译器本身就会默认搜索/usr/include、/usr/local/include这类系统标准路径,不需要额外通过-I指定。
验证测试
可以通过以下步骤验证这个逻辑:
- 临时修改
/usr/lib64/pkgconfig/zlib.pc中的includedir为非默认路径,例如:includedir=/tmp/test/zlib/include - 执行命令:
此时会输出pkg-config --cflags zlib-I/tmp/test/zlib/include - 最后将
zlib.pc改回原配置即可。
结论
当前状态完全正常,无需修改任何配置。编译依赖zlib的程序时,编译器依然能自动找到/usr/include下的zlib头文件,不会影响编译流程。
内容的提问来源于stack exchange,提问作者Rahn
相关产品推荐
相关产品推荐

