栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

pkgconfig的使用

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pkgconfig的使用

由于CMake的find_package有时候会发现使用不便,因此可以考虑使用pkg代替

案例分析 案例
cmake_minimum_required(VERSION 2.8)

set(APPNAME demo)
project(${APPNAME})

set(ENV{PKG_CONFIG_PATH} /usr/lib/pkgconfig)
find_package(PkgConfig)
pkg_search_module(BSON REQUIRED libbsoncxx)
pkg_search_module(MonGO REQUIRED libmongocxx)

include_directories(app
    ${BSON_INCLUDE_DIRS}
    ${MONGO_INCLUDE_DIRS})

aux_source_directory(. DIRSRCS)

# generate application
add_executable(${APPNAME}
    ${DIRSRCS}
    )

# link library to application
target_link_libraries(${APPNAME}
    ${BSON_LIBRARIES}
    ${MONGO_LIBRARIES}
    )
pkgconfig的使用
set(ENV{PKG_CONFIG_PATH} /usr/lib/pkgconfig)
find_package(PkgConfig)
查找需要使用的第三方库目录
pkg_search_module(BSON REQUIRED libbsoncxx)
pkg_search_module(MonGO REQUIRED libmongocxx)

在/usr/local/lib/pkgconfig目录下,可找到我们编译安装好的第三方库配置文件,pkgconfig下的配置为*.pc文件。

比如,我们看到该文件夹下存在libbsoncxx.pc,那么我们可以直接使用,只需要定义pkg_search_module(BSON REQUIRED libbsoncxx),BSON自定义名字即可。

包含头文件
include_directories(app
    ${BSON_INCLUDE_DIRS}
    ${MONGO_INCLUDE_DIRS})

头文件的目录格式为${XXX_INCLUDE_DIRS}

链接库
target_link_libraries(${APPNAME}
    ${BSON_LIBRARIES}
    ${MONGO_LIBRARIES}
    )

库文件的目录格式为${XXX_LIBRARIES}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/587849.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号