【发布时间】:2022-06-17 22:31:10
【问题描述】:
我尝试将当前版本的 Boost 库包含到我的 cmake 文件中。但我正在与完整的包含斗争。我已经包含了 boost::filesystem 库。所以我希望这不是对代码的大改动。
这里我的 Cmake 包含对我有用:
#include boost
#===========================================================================
set(Boost_INCLUDE_DIR "/Volumes/Code/boost_1_79_0")
set(Boost_LIBRARY_DIR "/Volumes/Code/boost_1_79_0/stage/lib")
find_package(Boost
1.79.0 REQUIRED
COMPONENTS
filesystem
)
if(NOT Boost_FOUND)
message(FATAL_ERROR "Boost Not found")
else()
message(STATUS "Boost version ${Boost_VERSION} found")
endif()
include_directories(include)
include_directories(${Boost_INCLUDE_DIR})
target_link_libraries(${EXECUTABLE}
PUBLIC
Boost::filesystem)
#===========================================================================
然后我尝试了,但失败了:
#include boost
#===========================================================================
set(Boost_INCLUDE_DIR "/Volumes/Code/boost_1_79_0")
set(Boost_LIBRARY_DIR "/Volumes/Code/boost_1_79_0/stage/lib")
find_package(Boost
1.79.0 REQUIRED
COMPONENTS
filesystem
optional
)
if(NOT Boost_FOUND)
message(FATAL_ERROR "Boost Not found")
else()
message(STATUS "Boost version ${Boost_VERSION} found")
endif()
include_directories(include)
include_directories(${Boost_INCLUDE_DIR})
target_link_libraries(${EXECUTABLE}
PUBLIC
Boost::filesystem
Boost::optional)
#===========================================================================
有没有人知道一种方法来集成所有 Boost 库而不列出它们或看到我的错误? 如果有人有改进建议,请随时教我。
【问题讨论】:
-
cmake_minimum_required(版本 3.19...3.23.2)