pkg-config / CFLAGS

pkg-config是一个管理库依赖的工具,通过读取库的.pc文件提供编译和链接所需的选项。它避免了手动指定头文件路径和库路径的问题,使得Makefile编写更简洁。例如,使用`pkg-config --cflags --libs opencv`可以获取OpenCV的编译和链接选项。Makefile中的CFLAGS和CXXFLAGS用于指定头文件路径,LIBS用于告诉链接器链接哪些库文件。
摘要由CSDN通过智能技术生成

1. 查看安装的version

运行pkg-config --modversion opencv发现现有的opencv是2.4.8。但是仔细没有找到opencv.lib相关文件。。只在/usr/include下找到了一些头文件。

以前不习惯用pkg-config,喜欢在Makefile中指定程序的依赖项。但是这样做存在一个问题,即当你的机器上安装了同一名称但不同版本的依赖库时,就有可能导致链接失败。这时,pkg-config就显示了它的优势:使编译选项简洁明了。

那么pkg-config是干啥的呢?按照官方说法,它用来返回已安装库的基本信息。

pkg-config [--modversion] [--help] [--print-errors] [--silence-errors] [--cflags] [--libs] [--libs-only-L] [--libs-only-l] [--cflags-only-I] [--variable=VARIABLENAME] [--define-variable=VARIABLENAME=VARIABLEVALUE] [--uninstalled] [--exists] [--atleast-version=VERSION] [--exact-version=VERSION] [--max-version=VERSION] [LIBRARIES...]

以上参数中,我们常用的基本就是[–cflags] [–libs],用来指出程序依赖的头文件和库文件路径。典型用法如下:


program: program.c
        cc program.c ‘pkg-config --cflags --libs gnomeui‘

其中,gnomeui就是程序要链接的库的名称。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值