pkgconfig的使用

pkgconfig的使用,第1张

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}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5579052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存