无法找到请求的 Boost 库 Windows Cmake
Unable to find the requested Boost libraries Windows Cmake
我正在尝试在Windows上构建字节币源代码,但我遇到了CMake和Boost库的问题。首先,我尝试抓取 Boost 1.55 并自己编译。由于某种原因,接近末尾的一两个库没有编译,但我认为 CMake 至少会识别编译的库。相反,我在尝试加载 CMake 项目时收到此错误:
错误:找不到请求的加速库。提升版: 1.55.0 加速包含路径:C:/程序文件/提升/boost_1_55_0 找不到以下提升库:
boost_system boost_filesystem boost_thread boost_date_time boost_chrono boost_regex boost_serialization boost_program_options 无增强库 被发现了。 您可能需要将BOOST_LIBRARYDIR设置为目录 包含 Boost 库或BOOST_ROOT到提升的位置。
然后我尝试在 find_package() 中添加一个 HINT。它试图解析一个奇怪的路径,不确定它在哪里这样做:
C:/程序文件中的 CMake 错误 (x86)/CMake/share/cmake-3.4/Modules/FindBoost.cmake:273 (if):语法 CMAKE 代码中的错误
C:/Program Files (x86)/CMake/share/cmake-3.4/Modules/FindBoost.cmake:273
解析字符串时
${Boost_C:/PROGRAM FILES/BOOST/BOOST_1_55_0_LIBRARY_RELEASE}
阅读有关此事的一些 SO 答案,我添加了环境变量:
C:\Users\Misha>set
BOOST_INCLUDEDIR=C:\local\boost_1_55_0 BOOST_LIBRARYDIR=C:\local\boost_1_55_0\lib32-msvc-12.0 BOOST_ROOT=C:\local\boost_1_55_0\boost
在这一点上,我尝试使用预编译的库,什么都没有。
CMkeLists.txt
find_package(Boost 1.55 REQUIRED COMPONENTS system filesystem thread date_time chrono regex serialization program_options)
#find_package(Boost 1.55 REQUIRED COMPONENTS system filesystem thread date_time chrono regex serialization program_options HINT "C:/Program Files/boost/boost_1_55_0")
include_directories(SYSTEM ${Boost_INCLUDE_DIRS})
if (MINGW)
set(Boost_LIBRARIES "${Boost_LIBRARIES};ws2_32;mswsock")
elseif (APPLE)
set(Boost_LIBRARIES "${Boost_LIBRARIES}")
elseif (NOT MSVC)
set(Boost_LIBRARIES "${Boost_LIBRARIES};rt")
endif ()
我不熟悉CMake,所以这可能是一个简单的修复。我只是看不出来。
我遇到了同样的错误,但解决了它。我的 BOOST 库是在 Windows 7(64 位)上使用 Gcc 6.3 构建的。
我在CMakeLists.txt
设置了Boost_DEBUG on
并找到了
-- [ C:/Program Files/CMake/share/cmake-3.9/Modules/FindBoost.cmake:1620 ] 正在搜索 对于SYSTEM_LIBRARY_RELEASE: libboost_system-mgw63-mt-1_67;libboost_system-mgw63-mt;libboost_system-mt-1_67;libboost_system-mt;libboost_system
这意味着FindPackage(Boost)
正在搜索libboost_system-mgw63-mt-1_67
但我的图书馆名称是libboost_system-mgw63-mt-x64-1_67
。
所以我从所有图书馆名称中删除了X64
,现在它工作正常。
- 如何在 Linux for Windows 上通过 MinGW 构建静态 ICU 的 Boost
- CMake 在 Windows 上的自定义位置上找不到 Boost
- 在 Julia 中使用 boost 库和 Windows 上的 Cxx.jl
- Boost::process on Windows - with MinGW?
- 在 Windows 中使用 boost::p rogram_options 从命令行参数读取 Unicode 字符
- 在Windows 10上使用Visual Studio 2019的Boost 1.71.0库出现错误
- 在 Windows 10 上安装 Boost 时遇到问题
- Build Boost Regex for Windows VS2013
- boost::stacktrace on Windows MSVS 2017
- boost zlib filter 在 Windows 中不起作用
- 如何将Windows GUID转换为boost::uuid?
- C++ Boost:在Windows中对boost::system::generic_category()的未定义引用
- 无法在Windows中找到来自cmake的MySQL和Boost包含/库
- 在 Windows 上使用 Boost python3 和 numpy3 库时,VS2015 中LNK2019未解析的外
- 无法在 Windows 上使用英特尔编译器编译示例 boost::多精度
- 在 Windows 中使用 boost::asio 实现最佳缓冲区大小
- 仅使用boost.datetime在Windows上有错误
- Boost, Windows, and QtCreator
- 简单的客户端/服务器在传输中丢失线路(boost/Windows)
- WinSock.h已经包含了Boost Windows Qt