c++ - Boost_LIBRARYDIR 不是正确的拼写

标签 c++ boost cmake

我正在尝试为我的 CMakeLists.txt 文件添加 boost 功能。但是,我收到此错误:

CMake Error at /export/home/yhe/local/share/cmake-3.3/Modules/FindBoost.cmake:393 (message):
  ERROR: Boost_LIBRARYDIR is not the correct spelling.  The proper spelling
  is BOOST_LIBRARYDIR.

我正在使用 cmake3.3.2 和命令:

find_package(Boost 1.55.0 COMPONENTS atomic REQUIRED)

这是文件:

  1 cmake_minimum_required(VERSION 2.8.9)                                                                                                                                                                         
  2 SET(CMAKE_INCLUDE_DIR ${CMAKE_LINCLUDE_DIR} "/export/home/thirdparty/boost/1.55.0/")                                                                                                                          
  3 SET(CMAKE_LIBRARYDIR ${CMAKE_LIBRARYDIR} "/export/home/thirdparty/boost/1.55.0/lib/AS5")                                                                                                                      
  4 message(${Boost_LIBRARYDIR})                                                                                                                                                                                  
  5 find_package(Boost COMPONENTS atomic REQUIRED)                                                                                                                                                               

原来 Boost_LIBRARYDIR 是在我调用 cmake 时定义的。删除 CMakeCache.txt 文件,问题就消失了。我想我可能在试图让它工作时设置了 Boost_LIBRARYDIR 并且它被缓存了。当定义了 Boost_LIBRARYDIR 时,FindBoost.cmake 将退出。但是,此错误消息确实具有误导性。

最佳答案

BOOST_ROOT、BOOST_LIBRARYDIR、BOOST_INCLUDEDIR 变量区分大小写。

我正在使用 cmake 和 Boost。

在我使用的 cmake 下面。请注意,我正在使用 MSVC 12 进行编译

set(BOOST_ROOT C:/boost/boost_1_55_0/)
set(BOOST_INCLUDEDIR C:/boost/boost_1_55_0/boost)
set(BOOST_LIBRARYDIR C:/boost/boost_1_55_0/lib64-msvc-12.0)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_COMPILER -vc120)
find_package(Boost 1.55.0 COMPONENTS atomic REQUIRED)

关于c++ - Boost_LIBRARYDIR 不是正确的拼写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33173231/

相关文章:

c++ - 如何标记 C++ 源代码文件(转换为标记序列)?

c++ - 通过 C++ Boost 的 VK API

windows - 除非已为构建用户打开交互式登录,否则 Jenkins Windows slave 上的 cmake 失败

c++ - gcc-4.8无法编译测试程序?

c++ - CMake C++ 库链接

c++ - 在 vs2015 的可变参数模板中找不到重载的成员函数

c++ - 从文本文件初始化 vector

c++ - boost 图形库 - 顶点颜色和 graphviz 输出的最小示例

c++ - boost::asio,异步读取错误

c++ - 2013 年的 boost bimap 和 multi_index_container 调试器可视化工具