【发布时间】:2019-08-09 18:18:03
【问题描述】:
我一直在使用 Boost 1.70.0,直到我意识到 CMake 存在问题并且无法编译。然后我切换到在我的 Linux 容器上完美编译的 Boost 1.67.0。问题是我的开发机器在 Windows 上运行(不幸的是),当我尝试切换到 1.67.0 时,CMake 继续在 1.70.0 的文件夹中搜索 Boost。
我一开始尝试让 CMake 查找 boost 的确切版本,如下所示:
find_package(Boost 1.67 EXACT)
find_package(Boost 1.67 EXACT REQUIRED COMPONENTS thread)
但我从错误中看到它仍在查看原始 1.70.0 位置:
CMake Error at C:/Program Files/CMake/share/cmake-3.15/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find Boost: Found unsuitable version "0.0.0", but required is
exact version "1.67" (found C:/Program Files/boost_1_70_0)
所以我删除了那个文件夹,我得到了同样的错误信息。我尝试使用命令将 BOOST_ROOT 环境变量设置为 1.67.0 文件夹
setx BOOST_ROOT "C:/Program Files/boost_1_67_0"
但我仍然遇到同样的错误。
如何让 CMake 或我的系统忘记 boost 1.70.0 并识别 boost 1.67.0?
【问题讨论】:
-
在重新运行 CMake 之前是否清理了 CMake 缓存?