首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用CMake时find_package出错(Boost.)在CMakeLists.txt中:没有找到合适的构建变体

使用CMake时find_package出错(Boost.)在CMakeLists.txt中:没有找到合适的构建变体
EN

Stack Overflow用户
提问于 2020-04-10 17:51:43
回答 1查看 2K关注 0票数 2

使用CMake时,调用find_package(Boost 1.6 COMPONENTS program_options thread system REQUIRED)时会出现以下错误

代码语言:javascript
运行
复制
-- Boost include dirs: C:/dev/boost/include/boost-1_72
-- Boost libraries:
Boost library
-- Found Boost 1.72.0 at C:/dev/boost/lib/cmake/Boost-1.72.0
--   Requested configuration: QUIET REQUIRED COMPONENTS program_options;thread;system
-- BoostConfig: find_package(boost_headers 1.72.0 EXACT CONFIG REQUIRED QUIET HINTS C:/dev/boost/lib/cmake)
-- BoostConfig: find_package(boost_program_options 1.72.0 EXACT CONFIG REQUIRED QUIET HINTS C:/dev/boost/lib/cmake)
-- Found boost_program_options 1.72.0 at C:/dev/boost/lib/cmake/boost_program_options-1.72.0
-- Boost toolset is vc142 (MSVC 19.25.28612.0)
-- Scanning C:/dev/boost/lib/cmake/boost_program_options-1.72.0/libboost_program_options-variant*.cmake
--   Including C:/dev/boost/lib/cmake/boost_program_options-1.72.0/libboost_program_options-variant-vc142-mt-gd-x32-1_72-static.cmake
--   [ ] libboost_program_options-vc142-mt-gd-x32-1_72.lib
--   Including C:/dev/boost/lib/cmake/boost_program_options-1.72.0/libboost_program_options-variant-vc142-mt-gd-x64-1_72-static.cmake
--   [ ] libboost_program_options-vc142-mt-gd-x64-1_72.lib
--   Including C:/dev/boost/lib/cmake/boost_program_options-1.72.0/libboost_program_options-variant-vc142-mt-x32-1_72-static.cmake
--   [ ] libboost_program_options-vc142-mt-x32-1_72.lib
--   Including C:/dev/boost/lib/cmake/boost_program_options-1.72.0/libboost_program_options-variant-vc142-mt-x64-1_72-static.cmake
--   [ ] libboost_program_options-vc142-mt-x64-1_72.lib
CMake Error at C:/dev/boost/lib/cmake/Boost-1.72.0/BoostConfig.cmake:120 (find_package):
  Found package configuration file:

    C:/dev/boost/lib/cmake/boost_program_options-1.72.0/boost_program_options-config.cmake

  but it set boost_program_options_FOUND to FALSE so package
  "boost_program_options" is considered to be NOT FOUND.  Reason given by
  package:

  No suitable build variant has been found.

  The following variants have been tried and rejected:

  * libboost_program_options-vc142-mt-gd-x32-1_72.lib (32 bit, need 64)

  * libboost_program_options-vc142-mt-gd-x64-1_72.lib (static,
  Boost_USE_STATIC_LIBS=OFF)

  * libboost_program_options-vc142-mt-x32-1_72.lib (32 bit, need 64)

  * libboost_program_options-vc142-mt-x64-1_72.lib (static,
  Boost_USE_STATIC_LIBS=OFF)

Call Stack (most recent call first):
  C:/dev/boost/lib/cmake/Boost-1.72.0/BoostConfig.cmake:185 (boost_find_component)
  C:/dev/cmake-3.17.0-win64-x64/share/cmake-3.17/Modules/FindBoost.cmake:444 (find_package)
  CMakeLists.txt:79 (find_package)


-- Configuring incomplete, errors occurred!
See also "C:/Users/sbreuer/Documents/Uni/Praktikum/SunFlower/Simulation/code/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/sbreuer/Documents/Uni/Praktikum/SunFlower/Simulation/code/build/CMakeFiles/CMakeError.log".

我不明白这里的问题。我为includelib目录添加了环境变量。我使用的是CMake 3.17.0和Boost 1.72.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-10 18:21:33

错误的重要部分在这里:

代码语言:javascript
运行
复制
  No suitable build variant has been found.

  The following variants have been tried and rejected:

  * libboost_program_options-vc142-mt-gd-x32-1_72.lib (32 bit, need 64)

  * libboost_program_options-vc142-mt-gd-x64-1_72.lib (static,
  Boost_USE_STATIC_LIBS=OFF)

  * libboost_program_options-vc142-mt-x32-1_72.lib (32 bit, need 64)

  * libboost_program_options-vc142-mt-x64-1_72.lib (static,
  Boost_USE_STATIC_LIBS=OFF)

它显示了找到的库,并给出了被拒绝的原因。这里的所有库都是静态的,如其名称上的lib前缀所示。但是,您的CMake配置表明您做了而不是,希望使用静态库(Boost_USE_STATIC_LIBS=OFF)。要修复错误,您有两个选项:

  1. Boost_USE_STATIC_LIBS设置为ON

设置(Boost_USE_STATIC_LIBS ON) find_package(Boost 1.6组件program_options线程系统)共享 Boost库,因此不仅可以使用静态库。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61145830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档