我正在尝试为我的 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)
我是一名优秀的程序员,十分优秀!