Cmake没有找到正确版本的Boost

时间:2018-04-18 11:34:28

标签: boost cmake

我正在尝试使用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能够找到它?

提前致谢, 干杯!

1 个答案:

答案 0 :(得分:0)

find_package(Boost)来电中更改Boost的版本信息时,您需要清除CMakeCache.txt文件。否则,将使用上一次运行的缓存信息。