1、下载、构建boost,然后配置BOOST_ROOT环境变量(建议放在~/.bashrc文件中,然后执行:source ~/.bashrc)
2、下载、构建 、安装glfags,这里放在了/usr/local目录
3、查找和使用的CMakeLists.txt文件:
cmake_minimum_required( VERSION 3.8 FATAL_ERROR) project(main LANGUAGES CXX) #set dirs list(APPEND CMAKE_MODULE_PATH $ENV{BOOST_ROOT}/stage/lib/cmake # append boost cmake dir /usr/local/lib/cmake/ # append gflags cmake dir ) set(PROJECT_ROOT ${CMAKE_CURRENT_LIST_DIR}) message("project dir:${PROJECT_ROOT}") SET(BIN_DESTINATION ${PROJECT_SOURCE_DIR}/bin) SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${BIN_DESTINATION}) SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${BIN_DESTINATION}) SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${BIN_DESTINATION}) #include cmake files include(${PROJECT_ROOT}/version.cmake) find_package(Boost REQUIRED COMPONENTS filesystem log system date_time) #find boost components find_package(gflags REQUIRED COMPONENTS static) #find gflags #set compile flags #add_definitions(-std=c++11 -g -rdynamic) set(CMAKE_CXX_FLAGS "-g3 -rdynamic -std=c++11") set(CMAKE_CXX_FLAGS_DEBUG "-g3 -O0 -fsanitize=address -fno-omit-frame-pointer -fsanitize=leak") set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG") #include dirs include_directories(./ $ENV{BOOST_ROOT}) #link dirs link_directories(${BIN_DESTINATION}) #execute SET(SRC_MAIN demo.cpp main.cpp ) add_executable( ${PROJECT_NAME} ${SRC_MAIN}) set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION}) target_link_libraries(${PROJECT_NAME} gflags Boost::filesystem Boost::log Boost::system Boost::date_time) #link gflags and boost components注意:需要配置好CMAKE_MODULE_PATH,因为find_package就是通过CMAKE_MODULE_PATH来查找库的
ztenv 认证博客专家 C++ Python Linux 吃遍深圳,踏遍鹏城;不仅喜欢C++、Python、golang、java、linux;喜欢美食的可以约起来,喜欢自驾游的可以约起来,喜欢游戏的也可以约起来, 。