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