gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 05:56:10 35 4
gpt4 key购买 nike

我使用 CMake 来查找 Boost。找到了 Boost,但 CMake 出错了

Imported targets not available for Boost version

请参阅下面的完整错误(来自 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)

最佳答案

您的 CMake 版本太旧。更新 CMake 就可以了。

CMake 无法检测不同 Boost 库之间的依赖关系。它们已在 FindBoost 中明确实现。
对于每个 Boost 版本,CMake 维护者都会添加此信息,并且它会成为下一个 CMake 版本的一部分。因此,您必须确保您的 CMake 版本是在您尝试查找的 Boost 版本之后发布的。

Boost 1.63 需要 CMake 3.7 或更高版本。
Boost 1.64 需要 CMake 3.8 或更高版本。
Boost 1.65 和 1.65.1 需要 CMake 3.9.3 或更高版本。
Boost 1.66 需要 CMake 3.11 或更高版本。
Boost 1.67 需要 CMake 3.12 或更高版本。
Boost 1.68、1.69 需要 CMake 3.13 或更高版本。
Boost 1.70 需要 CMake 3.14 或更高版本。
Boost 1.71 需要 CMake 3.15.3 或更高版本。
Boost 1.72 需要 CMake 3.16.2 或更高版本。
Boost 1.73 需要 CMake 3.17.2 或更高版本。
Boost 1.74 需要 CMake 3.19 或更高版本。
Boost 1.75 需要 CMake 3.19.5 或更高版本。
Boost 1.76 需要 CMake 3.20.3 或更高版本。
Boost 1.77 需要 CMake 3.21.3 或更高版本。
Boost 1.78 需要 CMake 3.22.2 或更高版本。
Boost 1.79 需要 CMake 3.23.2 或更高版本。
Boost 1.80 需要 CMake 3.24.2 或更高版本。
Boost 1.81 需要 CMake 3.25.2 或更高版本。
Boost 1.82 需要 CMake 3.27.0 或更高版本。

没有 FindBoost

从版本 1.77 开始,Boost 提供了一个 BoostConfig.cmake,它废弃了 FindBoost 和所需的更改。使用

find_package(Boost CONFIG)

排除 FindBoost 文件并仅搜索配置文件。
为了兼容性,CMake 将继续提供 FindBoost。

关于boost - CMake 找到 Boost,但导入的目标不适用于 Boost 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42123509/

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