安装和运行 Boost(Cygwin)
(初级; IDE:CLION)
首先,从 Cygwin 镜像安装 boost:打开 install exe,搜索 boost,安装软件包。
安装 boost 后:它将位于/usr/include/boost
。这就是一切。所有 #include
语句都是 boost 文件夹中的路径,如:#include <boost/archive/text_oarchive.hpp>
。
一旦在 .cpp
文件中包含你选择的 boost 文件,在你链接库并告诉 cmake 搜索下载的 boost 代码之前,你的代码仍然无法在你选择的 IDE 中编译。
为了让 cmake 搜索你的提升代码,
find_package(Boost 1.60.0 COMPONENTS components_you_want)
# for example:
find_package(Boost 1.60.0 COMPONENTS serialization)
然后,包括目录:include_directories(${Boost_INCLUDE_DIRS})
最后,添加你的可执行文件并链接库:
add_executable(your_target ${SOURCE_FILES})
target_link_libraries(your_target ${Boost_LIBRARIES} -any_missing_boostlibs)
在启动程序之前,通过测试来避免错误转储,以便在包含任何内容或运行代码之前查看是否已找到 boost:
if (Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(YourTarget ${SOURCE_FILES})
target_link_libraries(your_target ${Boost_LIBRARIES} -missing_libs)
endif()
我包含 -missing_libs
,因为你可能遇到的错误是某些 boost 库或其他可能没有链接,你必须手动添加它 - 例如,我之前引用的链接 。
总之,最终的 CMakeLists.txt 文件可能如下所示:
cmake_minimum_required(VERSION 3.7)
project(your_project)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp tmap.cpp tmap.h)
find_package(Boost 1.60.0 COMPONENTS serialization)
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(your_project ${SOURCE_FILES})
target_link_libraries(your_project ${Boost_LIBRARIES})
endif()