• 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    cmake使用pkg-config

    find_package(REQUIRED PkgConfig)
    #pkg_search_module寻找对应的模块
    pkg_search_module(<prefix> REQUIRED <模块名>)
    
    • 1
    • 2
    • 3
    • 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    LQ0266 巧排扑克牌【模拟】
    vscode 阅读 android以及kernel 源码
    作业-11.16
    第53天:Django实现代码及配置文件、Django连接mysql及ORM介绍
    怎样把word文档生成二维码?word如何制作二维码?
    day1_QT
    一起Talk Android吧(第五百五十一回:如何自定义SplashScreen)
    0xc0000142修复解决方法
    SQL语句知识大全
    汪汪熊の模板
  • 原文地址:https://blog.csdn.net/AcTarjan/article/details/133997195