- 作用:pkg-config是linux中的应用程序,可以方便导入第三方模块的头文件和库文件。
- 很多模块是支持pkg-config的,这些模块(如dpdk)在编译安装后会生成**.pc**后缀的文件,pkg-config通过pc文件可以知道模块的头文件和库文件,并对外提供使用方法。
- 默认查询pc文件的路径:/usr/lib下
- PKG_CONFIG_PATH:自定义查询pc文件的路径
pkg-config --list-all
pkg-config --cflags dpdk
pkg-config --libs dpdk
pkg-config --static --libs dpdk
cmake使用pkg-config
find_package(REQUIRED PkgConfig)
pkg_search_module(<prefix> REQUIRED <模块名>)
- pkg_search_module找到对应的模块后,可以使用下面的变量
<prefix>_FOUND:如果找到模块,此变量为1
<prefix>_LIBRARIES:模块的链接库名称(不包含-l)
<prefix>_LINK_LIBRARIES:模块的链接库名称(包含绝对路径)
<prefix>_LIBRARY_DIRS:模块的链接库路径(不包含-L)
<prefix>_INCLUDE_DIRS:模块的头文件路径(不包含-I)
<prefix>_LDFLAGS:链接flags
<prefix>_LDFLAGS_OTHER:额外的链接flags
<prefix>_CFLAGS:所有的编译器cflags
<prefix>_CFLAGS_OTHER:其他的编译器cflags