CMake找到Boost但导入的目标不适用于Boost版本

Sou*_*nak 53 boost cmake

我用CMake找到Boost.找到了Boost,但CMake出错了

导入的目标不适用于Boost版本

请参阅下面的完整错误(来自macOS).我究竟做错了什么?

CMake Warning at /Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:743 (message):
  Imported targets not available for Boost version 106300
Call Stack (most recent call first):
  /Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:842 (_Boost_COMPONENT_DEPENDENCIES)
/Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:1395 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:6 (find_package)

Boost version: 1.63.0
Found the following Boost libraries:
  thread
CMake Warning at /Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:743 (message):
  Imported targets not available for Boost version 106300
Call Stack (most recent call first):
  /Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:842 (_Boost_COMPONENT_DEPENDENCIES)
  /Applications/CMake.app/Contents/share/cmake-3.6/Modules/FindBoost.cmake:1395 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:7 (find_package)
Run Code Online (Sandbox Code Playgroud)

usr*_*567 103

你的CMake版本太旧了.更新CMake,它会工作.

CMake无法检测不同Boost库之间的依赖关系.他们明确地实施了FindBoost.
对于每个Boost版本,这些信息都由CMake维护者添加,它将成为下一个CMake版本的一部分.因此,您必须确保您的CMake版本在您尝试查找的Boost版本之后发布.

Boost 1.63要求CMake 3.7或更高版本.
Boost 1.64需要CMake 3.8或更高版本.
升压1.65和1.65.1需要CMake 3.9.3或更高版本.
Boost 1.66需要CMake 3.11或更高版本.
Boost 1.67需要CMake 3.12或更高版本.
升压1.68,1.69要求CMake 3.13或更高版本.

  • 我有提升1.64和cmake 3.8仍然得到消息 (5认同)
  • 非常感谢你.使用此命令,CLion的2016.3捆绑的CMake 3.6.3失败.现在我使用`/ usr/bin/cmake`中的系统CMake 3.7.2 (3认同)
  • 1.68与3.12一起为我工作。这也是一个真正的弱点系统。 (2认同)
  • boost 1.67 不适用于我的 cmake 3.12,它是一个延迟系统,特别是如果没有诸如“您需要更新版本的 cmake 以用于您的 boost 版本”之类的错误 (2认同)
  • 尽管使用了 cmake 3.14,我仍然在 boost 1.70 中收到此消息 (2认同)