我正在尝试使用cmake构建一些代码。该代码使用了一些Boost库。因此我尝试在cmakefile中找到Boost:
find_package(Boost 1.65.1 REQUIRED COMPONENTS unit_test_framework program_options )
我已经通过apt安装了boost版本1.58(我正在使用Linux Mint 18.3),所以我在尝试编写代码时显然收到错误消息:
CMake Error at /usr/share/cmake-3.5/Modules/FindBoost.cmake:1677 (message):
Unable to find the requested Boost libraries.
Boost version: 1.58.0
Boost include path: /usr/include
Detected version of Boost is too old. Requested version was 1.65.1 (or newer).
Call Stack (most recent call first):
CMakeLists.txt:14 (find_package)
-- Configuring incomplete, errors occurred!
所以我继续按源下载Boost 1.65.1并按预期方式构建并安装前缀
sudo ./b2 install --prefix=/usr/include
当我尝试再次构建代码时,它仍然提供与以前完全相同的错误消息,声明它没有找到更新的版本。我试图卸载版本1.58并进行构建,但是cmake根本没有找到Boost。
如何以某种方式安装Boost,cmake能够找到它?
提前致谢, 干杯!
答案 0 :(得分:0)
在find_package(Boost)
来电中更改Boost的版本信息时,您需要清除CMakeCache.txt
文件。否则,将使用上一次运行的缓存信息。