pkg-config 查询已安装库的相关信息
简述
pkg-config 是一个在源代码编译时查询已安装的库的使用接口的计算机工具软件。
输出已安装库的相关信息:
- C/C++ 编译器需要的输入参数
- 链接器需要的输入参数
- 已安装软件包的版本信息
工作原理
当安装一个库时(例如从 RPM,deb 或其他二进制包管理系统),会包括一个后缀名为 pc 的文件,它会放入某个文件夹下(依赖于你的系统设置)。
例如,在 Linux 为该软件的库文件所在文件夹 lib 之下的子文件夹 pkgconfig。
并把该子文件夹加入 pkg-config 的环境变量 PKG_CONFIG_PATH
作为搜索路径,例如在 bash 配置文件中加入一行:
$ export PKG_CONFIG_PATH=/usr/local/`库的名字`/lib/pkgconfig:$PKG_CONFIG_PATH
比如查看一下 opencv 的 pkgconfig:
$ cat /usr/local/lib/pkgconfig/opencv.pc
# Package Information for pkg-config
prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir_old=${prefix}/include/opencv
includedir_new=${prefix}/include
Name: OpenCV
Description: Open Source Computer Vision Library
Version: 3.4.5
Libs: -L${exec_prefix}/lib -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_hfs -lopencv_img_hash -lopencv_line_de