gpt4 book ai didi

c++ - CMake - 找不到 Boost(缺少 : serialization) (found version "1.73.0"

转载 作者:行者123 更新时间:2023-12-01 14:52:39 25 4
gpt4 key购买 nike

我已经在我的项目中使用 Boost 一段时间了,但直到现在,我只使用了头文件库。我现在想使用序列化,但是当我尝试将序列化添加为 REQUIRED 组件时,我在标题中收到了错误消息。

这是我的 CMAKE 文件:

cmake_minimum_required(VERSION 3.15)
project(GinRummyCPP)

SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "D:/Program Files/boost/boost_1_73_0")
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "D:/Program Files/boost/boost_1_73_0/libs")
set(CMAKE_CXX_STANDARD 17)
find_package(Boost COMPONENTS serialization)
add_executable(GinRummyCPP main.cpp)
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(GinRummyCPP ${Boost_LIBRARIES})
endif()

我检查了我的 Boost 文件夹,序列化位于“D:\Program Files\boost\boost_1_73_0\libs\serialization”

我试过设置 BOOST_ROOT和其他相关变量,但似乎没有任何效果。

这是加载 CMake 文件时产生的完整错误
CMake Warning at C:/Program Files/JetBrains/CLion 2019.3.2/bin/cmake/win/share/cmake-3.15/Modules/FindBoost.cmake:1144 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
C:/Program Files/JetBrains/CLion 2019.3.2/bin/cmake/win/share/cmake-3.15/Modules/FindBoost.cmake:1266 (_Boost_COMPONENT_DEPENDENCIES)
C:/Program Files/JetBrains/CLion 2019.3.2/bin/cmake/win/share/cmake-3.15/Modules/FindBoost.cmake:1904 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:7 (find_package)


-- Could NOT find Boost (missing: serialization) (found version "1.73.0")
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Documents/GinRummyCPP/cmake-build-release-mingw-64

不确定它是否相关,但我使用 CLion 作为我的 IDE,使用 mingw-w64 作为我的编译器。

最佳答案

我最终使用了一个名为 vcpkg 的 C++ 包管理器来安装 Boost:x64-windows,然后正确地找到了 Boost 和相应的组件。可以在此处找到有关如何安装它的说明:https://github.com/Microsoft/vcpkg

安装后,可以使用以下命令安装 64 位 Boost:
.\vcpkg.exe install boost:x64-windows
我仍然不知道 CMake 的原始问题是什么,我确信有一种方法可以在不使用包管理器的情况下修复它,但对于那些可以使用包管理器的人来说,这是一个解决方案。

编辑

发现这仍然没有完全解决我的问题,并导致了其他问题。我找到了一个不使用包管理器的完整解决方案,并将其发布在我对这个问题的回答中:Undefined reference errors in simple boost serialization

关于c++ - CMake - 找不到 Boost(缺少 : serialization) (found version "1.73.0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61989414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com