4

我想在我的机器上构建一个名为 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)
4

2 回答 2

10

看来你误解了 的意思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
于 2013-07-10T10:48:35.107 回答
3

希望现在发布这个还为时不晚。将它与 cmake 命令一起在命令行中传递会解决它

 cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_INSTALL_PREFIX=dist -DBOOST_DIR="boost installation location"
于 2016-10-28T01:02:08.807 回答