前言

pkg-config是一个命令行工具,用于提供库(libraries)的编译和链接信息

用法

1
2
3
pkg-config --list-all #查看所有支持pkg-config的库

pkg-config --libs --cflags glib-2.0 # 名字就是本地/usr/lib/x86_64-linux-gnu/pkgconfig/*.pc的前缀

CMake集成pkg-config

1
2
3
4
5
6
7
8
9
10
# 1. 引入 pkg-config 模块
find_package(PkgConfig REQUIRED)

# 2. 查找某个库,例如 libcurl
pkg_check_modules(CURL REQUIRED libcurl)

# 3. 使用查找到的变量
target_include_directories(my_app PRIVATE ${CURL_INCLUDE_DIRS})
target_link_libraries(my_app ${CURL_LIBRARIES})
target_compile_options(my_app PRIVATE ${CURL_CFLAGS_OTHER})