cmake_minimum_required(VERSION 3.10)
project(BoostTest)
set(CMAKE_CXX_STANDARD 14)
# 设置Boost库的根目录(应指向 Boost 的安装根目录)
set(BOOST_ROOT "F:/boost_1_86_0")
# 禁用搜索系统路径
set(Boost_NO_SYSTEM_PATHS ON) # 非常重要,否则会导致找不到 Boost 库
# 查找Boost库,指定需要的组件
# find_package(Boost REQUIRED COMPONENTS filesystem regex)
find_package(Boost REQUIRED)
if(Boost_FOUND)
# 输出 Boost 的相关信息
message("Boost version: ${Boost_VERSION}")
message("Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
message("Boost_LIBRARY_DIRS: ${Boost_LIBRARY_DIRS}")
# 链接Boost库目录
#link_directories(${Boost_LIBRARY_DIRS})
add_executable(${PROJECT_NAME} main.cpp)
target_include_directories(${PROJECT_NAME} PUBLIC ${Boost_INCLUDE_DIRS})
target_link_libraries (${PROJECT_NAME} PRIVATE ${Boost_LIBRARIES})
else()
message(FATAL_ERROR "Boost not found!")
endif()
上面我直接是包含了整个Boost库,实际上只要它的部分组件就行了,即在find_package中指定需要的组件,同时在target_link_libraries中放入需要的组件名即可。