cmake使用boost静态库,错误提示 Could NOT find Boost (missing: Boost_INCLUDE_DIR) (Required is at least version "1.48")

2023-03-14,,

使用的是Cmake-gui 编译。

问题出在C盘路径下找不到 Boost ,是否需要把boost的路径添加到系统Path 中?

  任然不能解决。


更改源码:

  找到下面这几行代码(你可以搜索)
  message(STATUS, ${Boost_INCLUDE_DIR})
  list(APPEND _boost_LIBRARY_SEARCH_DIRS_${c}
  ${Boost_INCLUDE_DIR}/lib
  ${Boost_INCLUDE_DIR}/../lib
  ${Boost_INCLUDE_DIR}/stage/lib
  ${Boost_INCLUDE_DIR}/lib32-msvc-14.2
  )

在找boost库的那段代码里面找到这一行,加上即可。

原因是,cmake在搜索的时候压根就没考虑过我这懒人直接从官方下的编译好的包,而编译好的包里头,库文件目录的名字是 lib32-msvc-14.2

/**************************用记事本打开这个cmake 文件,查找不到上面的代码,因此这个方法也无法解决**************************/

看来要更改的不是这个 .cmake 文件, 只是这个文件的message函数返回了错误值。

需要更改的是这个目录下的 FindBoost.cmake 文件 。  添加了一行代码 (与别人的解决方案不完全一样)

由于该路径是在C盘,需要管理员权限才能更改  ,并且 有个疑惑,我是用txt打开这个.cmake文件,保存了之后就变成 txt 文件了 ,而不是 cmake 文件,怎么办?

在Windows上cmake无法正确找到boost库模块的问题 | 蓝鲸ROS机器人论坛 (bwbot.org)

Cmake doesn't find Boost - Stack Overflow

ctmd  这些人只说要添加什么什么,又不说怎么添加,具体在哪添加


终于解决啦!!! 原来是我一直环境变量配置出现了问题。太傻逼了! 受到下面这个博主的启发,我去检查了环境变量设置

果然,我并没有在变量上面增加BOOST_INCLUDE_DIR ,而只是在Path里面胡乱增加值。原来这么做没有用

于是乎,我在系统变量里面增加了BOOST_INCLUDE_DIR 变量和值,在Path里面 以%*****%的形式把路径加了上去。CMake成功

见证奇迹的时刻

nice ,接着generate也成功 done。 打开.sln看看,可以运行咯!

cmake使用boost静态库,错误提示 Could NOT find Boost (missing: Boost_INCLUDE_DIR) (Required is at least version "1.48")的相关教程结束。

《cmake使用boost静态库,错误提示 Could NOT find Boost (missing: Boost_INCLUDE_DIR) (Required is at least version "1.48").doc》

下载本文的Word格式文档,以方便收藏与打印。