在尝试查找Boost时,CMake会报告“Boost_DIR-NOT_FOUND”

时间:2013-07-10 10:14:23

标签: boost cmake

我想在我的机器上构建一个名为CSWNet的库。 Cmake可以找到Boost_INCLUDE_DIR和Boost_LIB_DIR,但它找不到名为Boost_DIR的选项,它是一个包含Boost的CMake配置文件的目录。它在哪里?请帮助,谢谢你。我得到的错误如下所示,我从ubuntu存储库安装了boost,它安装在/ usr / local。

 CMake Error at /usr/local/share/cmake-2.8/Modules/FindBoost.cmake:429 (message):
When requesting a specific version of Boost, you must provide at least the
major and minor version numbers, e.g., 1.34
Call Stack (most recent call first):
demos/CMakeLists.txt:149 (find_package)

2 个答案:

答案 0 :(得分:9)

您似乎误解了Boost_DIR的含义。

Boost_DIR是一个环境变量,用作CMake提示查找boost安装目录。如果设置为Boost_DIR-NOTFOUND 意味着它没有找到Boost。 Boost_FOUND用于表示搜索是否成功:

find_package(Boost REQUIRED thread)
if(Boost_FOUND)
    message(STATUS "Success!")
endif()

如果搜索成功,CMake还会在配置阶段打印诊断消息,类似于

Boost version: 1.53.0
Found the following Boost libraries:
  thread

答案 1 :(得分:1)

希望发布此内容还为时不晚。 将它与cmake命令一起在命令行中传递将重新启动它

 cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_INSTALL_PREFIX=dist -DBOOST_DIR="boost installation location"