CMake中使用常用C++库

本文提供了一个使用CMake进行项目配置的例子,涉及loki、boost、boostlogging、mongodbdriver及cppdb等多个库的配置过程。该配置适用于整合多种第三方库进行软件开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面给出的配置包含了loki,boost,boost logging,mongodb driver,cppdb等。

cmake_minimum_required(VERSION 2.8)

set(Loki_HOME /usr/local/src/loki-0.1.7)
set(Loki_INCLUDE_DIR ${Loki_HOME}/include)
set(Loki_LIBRARY_DIR ${Loki_HOME}/lib)
set(Loki_LIBRARY ${Loki_HOME}/lib/libloki.so.0.1.7)

set(Boost_HOME /usr/local/src/boost_1_47_0)
set(Boost_INCLUDE_DIR ${Boost_HOME})
set(Boost_LIBRARY_DIR ${Boost_HOME}/stage/lib)

set(CPPDB_INCLUDE_DIR /usr/include/cppdb)
set(CPPDB_LIBRARY_DIR /usr/lib/)
set(CPPDB_LIBRARY /usr/lib/libcppdb.so)

set(PROJECT_INCLUDE_DIR /home/chenshu/work/CommonService/trunk/BatchService/include)
set(PROJECT_SOURCE_DIR /home/chenshu/work/CommonService/trunk/BatchService/src)

set(MONGODB_INCLUDE_DIR /usr/local/src/mongo-cxx-driver-v1.8/mongo)

add_definitions(-DBOOST_FILESYSTEM_VERSION=2)

find_package (Threads)
find_package(Boost COMPONENTS system filesystem thread log program_options REQUIRED)
message("--------------------------------------------")
message(${Boost_HOME})
message(${Loki_HOME})
message(${MONGODB_INCLUDE_DIR})
message("--------------------------------------------")
include_directories(${Boost_INCLUDE_DIR} ${Loki_INCLUDE_DIR} ${CPPDB_INCLUDE_DIR} ${PROJECT_INCLUDE_DIR} ${MONGODB_INCLUDE_DIR})

link_directories(${Boost_LIBRARY_DIR} ${Loki_LIBRARY_DIR} ${CPPDB_LIBRARY_DIR})

add_executable(main ThreadFunction.cpp Application.cpp SqlSessionFactory.cpp VillageService.cpp ThreadManager.cpp main.cpp)
target_link_libraries( main  mongoclient ${CMAKE_THREAD_LIBS_INIT} ${Boost_LIBRARIES} ${Loki_LIBRARY} ${CPPDB_LIBRARY} )


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值