pkg-config使用

  • 作用:pkg-config是linux中的应用程序,可以方便导入第三方模块的头文件和库文件。
  • 很多模块是支持pkg-config的,这些模块(如dpdk)在编译安装后会生成**.pc**后缀的文件,pkg-config通过pc文件可以知道模块的头文件和库文件,并对外提供使用方法。
  • 默认查询pc文件的路径:/usr/lib下
  • PKG_CONFIG_PATH:自定义查询pc文件的路径
#查看pkg-config所有可支持的模块(有pc文件的模块)
pkg-config --list-all

#查看dpdk的头文件路径
pkg-config --cflags dpdk
#输出:-I/opt/dpdk/include,可以直接被gcc使用

#查看dpdk提供的动态库文件
pkg-config --libs dpdk

#查看dpdk提供的静态库文件
pkg-config --static --libs dpdk

cmake使用pkg-config

find_package(REQUIRED PkgConfig)
#pkg_search_module寻找对应的模块
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

你可能感兴趣的:(c语言)