错误“找不到 Boost”(缺少:上下文标头)

Posted

技术标签:

【中文标题】错误“找不到 Boost”(缺少:上下文标头)【英文标题】:Error "Could not find Boost" (missing: context headers) 【发布时间】:2020-07-07 19:15:30 【问题描述】:

我添加了这样的提升:“-DBoost_INCLUDE_DIR=/boost_1_71_0” 这就是我得到的:

找不到 Boost(缺少:上下文标头)(找到合适的 版本“1.71.0”,最低要求是“1.71”)

Cmake 可以确定 boost 版本,但不能同时找到 boost! 有办法解决吗?

这就是我在我的 cmake 文件中包含 boost 的方式。这里没什么好看的。

find_package(Boost 1.71 COMPONENTS context headers REQUIRED)

【问题讨论】:

向我们展示您的CMakeLists.txt 文件。一般来说,使用find_packageFindBoost.cmake——见***.com/questions/3897839/…;另请查看您是否在 cmakelists 文件中的某处设置了所需的最低版本。 可能是您的 CMake 还不了解 boost 1.71。 【参考方案1】:

Boost context 和 headers 是 header only 库,因此不需要在 find_packages 调用中提及。做一个简单的find_package(Boost 1.71 REQUIRED) 就完成了。稍后您可以在target_link_librariescommand 中使用Boost::boostBoost::headers 引用Boost 头目录。

【讨论】:

以上是关于错误“找不到 Boost”(缺少:上下文标头)的主要内容,如果未能解决你的问题,请参考以下文章

FindPackageHandleStandardArgs.cmake:137 处的 CMake 错误(消息):找不到 Boost(缺少:正则表达式)(找到合适的版本“1.72.0”,

配置:错误:找不到 boost.filesystem 库

对 Django 的请求中缺少自定义标头

由于缺少 ObjectifyFilter,Objectify 5.1 上下文未启动错误

找不到 boost 库

找不到 boost::serialization 的成员