Linux----之pkg-config用法

本文详细介绍了pkg-config工具的用途及工作原理。pkg-config用于提供库的路径、版本号等信息,简化了编译链接过程。通过示例展示了如何使用pkg-config获取CFLAGS参数,以及配置环境变量以查找特定包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pkg-config的用法

pkg-config的用法

pkg-config

pkg-config程序是干什么用的?简单的说就是向用户向程序提供相应库的路径、版本号等信息的程序。

譬如说我们运行以下命令:
pkg-config  查看gcc的CFLAGS参数

$pkg-config --libs --cflags opencv

会显示如下信息:

-I/usr/include/opencv -lcxcore -lcv -lhighgui -lcvaux

各位看官,你看这不就是我们用gcc编译连接时CFLAGS的参数吗?

因此当我们需要编译连接某个库时,我们只需要把上面那行加入gcc 的参数里面即可。

这也是configure的作用,它会检查你需要的包,产生相应的信息。

那pkg-config从哪儿知道这些信息的呢?它是从包名为xxx.pc这个文件中查找到的。拿上面那个例子说,它是从opencv.pc这个文件中查知的。

pkg-config 又怎么会知道opencv.pc这个文件呢?

下面我们看一下pkg-config是怎样工作的。

缺省情况下,pkg-config首 先在prefix/lib/pkgconfig/中查找相关包(譬如opencv)对应的相应的文件(opencv.pc)。在linux上上述路径名为 /usr/lib/pkconfig/。若是没有找到,它也会到PKG_CONFIG_PATH这个环境变量所指定的路径下去找。若是没有找到,它就会报 错,例如:

Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值