CMake的pkg-config模块使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMake的pkg-config模块使用相关的知识,希望对你有一定的参考价值。

参考技术A 很多大型第三方框架使用Pkg-Config维护它依赖库路径、头文件路径、编译选项、链接选项等信息,文件名后缀是 .pc ,方便第三方开发者便捷地获取相关信息,例如OpenCV和Seastar,通常都是大型且复杂的第三方库

可以通过Linux的 PkgConfig 命令获取相关信息,如
pkg-config --libs --cflags seastar

CMake通过 FindPkgConfig 模块来使用获取相关信息,比较经典的写法是:

后面就可以通过 SEASTARPC_LIBRARIES 等方式获取相关编译选项和库名称等。

具体有哪些可以使用,可以参看CMake的 FindPkgConfig 模块使用.

一些细节问题可以百度一下,以上方法足够日常开发使用。

seastar.pc位于/seastar/build/release/seastar.pc,文件内容如下:

pkg-config 在不同opencv中切换

查看当前版本

pkg-config --modversion opencv    

~/.bashrc最后添加如下内容:

CMAKE_INSTALL_PREFIX=/usr/local/opencv3
export PKG_CONFIG_PATH=/usr/local/opencv3/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv3/lib

然后执行:

source ~/.bashrc

以上是关于CMake的pkg-config模块使用的主要内容,如果未能解决你的问题,请参考以下文章

从`cmake`使用`pkg-config`的正确方法是啥?

CMake Pkg-Config 库链接路径

从 CMake / PkgConfig 为 pkg-config 提供选项 --define-variable

在 Cmake 中包含 pkg-config --cflags --libs gtk+-2.0

CMake模块的使用和自定义模块

在 CMake 脚本中添加到 pkg-config 的临时路径?