c++ - 找不到 Boost(缺少:序列化)– cmake 错误
问题描述
我知道这是另一个问题,例如“我的提升在哪里???,但我仍然不清楚......我是 Boost 和 Cmake 的新手。我正在尝试从 Boost 教程(序列化库)构建简单的演示必需)使用此脚本与 Cmake 一起使用:
cmake_minimum_required(VERSION 2.8)
project(serialization)
add_executable(serializer main.cpp)
set(BOOST_ROOT "C:/Dev/Source/boost/boost_1_73_0")
set(BOOST_INCLUDEDIR "C:/Dev/Source/boost/boost_1_73_0")
set(BOOST_LIBRARYDIR "C:/Dev/Source/boost/boost_1_73_0/stage/lib")
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_DEBUG 1)
find_package(Boost 1.73.0 REQUIRED COMPONENTS serialization)
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(serializer ${Boost_LIBRARIES})
endif()
Cmake 输出如下所示:
[build] -- [ C:/Dev/Source/...cmake:1489 ] Boost_USE_STATIC_LIBS = "ON"
...
[build] -- [ C:/Dev/Source/...cmake:1524 ] BOOST_ROOT = "C:/Dev/Source/boost/boost_1_73_0"
[build] -- [ C:/Dev/Source/...cmake:1525 ] ENV{BOOST_ROOT} = <unset>
...
[build] -- [ C:/Dev/Source/...cmake:1526 ] BOOST_INCLUDEDIR = "C:/Dev/Source/boost/boost_1_73_0"
[build] -- [ C:/Dev/Source/...cmake:1526 ] ENV{BOOST_INCLUDEDIR} = <unset>
...
[build] -- [ C:/Dev/Source/...cmake:1528 ] BOOST_LIBRARYDIR = "C:/Dev/Source/boost/boost_1_73_0/stage/lib"
[build] -- [ C:/Dev/Source/...cmake:1529 ] ENV{BOOST_LIBRARYDIR} = <unset>
...
[build] -- [ C:/Dev/Source/...cmake:2045 ] Searching for SERIALIZATION_LIBRARY_RELEASE: libboost_serialization-mgw8-mt-1_73;...;libboost_serialization-mt-s
[build] -- [ C:/Dev/Source/...cmake:2100 ] Searching for SERIALIZATION_LIBRARY_DEBUG: libboost_serialization-mgw8-mt-d-1_73;...;libboost_serialization-mt-s-d
...
[build] CMake Error at C:/Dev/Source/...cmake:164 (message):
[build] Could NOT find Boost (missing: serialization) (found suitable version
[build] "1.73.0", minimum required is "1.73.0")
所以看起来 Cmake 可以找到所需的库,但是出了点问题。如果我没有COMPONENTS
明确指定,Cmake 会找到 Boost,但构建过程会失败并出现许多undefined reference to boost::...
错误。那么有没有办法解决这些问题呢?
解决方案
推荐阅读
- swiftui - 如何创建仅显示线条网格的自定义视图?
- json - 检索 JSON 数据然后解析它(需要一些帮助)
- php - 使用我的代码,我如何使用 php 获取某些行和列的数据而不是工作表上的每个数据
- android - imagebutton 没有出现在 xml 布局上
- c# - Software.exe C# Visual Studio 2015 WINFORMS 中出现“System.NullReferenceException”类型的未处理异常
- algorithm - 二维路径“收缩包装”算法
- angular - Angular 应用程序 (v8) 不适用于 IE11 中的 Web 组件 polyfill
- r - 通过多次单击操作以闪亮的方式加载和执行数据操作
- javascript - onChange 和 setState 在我的代码中不能一起工作
- fish - 在脚本中定义新的鱼命令并解析参数