我想向我的CMakeLists.txt文件添加提升。不過,我收到此錯誤:Boost_LIBRARYDIR不是正確的拼寫
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將退出。但是,這個錯誤信息是真的令人誤解。
您的問題是什麼?您說清除緩存後問題消失。 – pmr
是的,find_package需要Boost_LIBRARY未定義。但是,它在我的系統中定義在緩存文件中。查看FindBoost.cmake,spellCheck旨在確保人們不會將BOOST作爲Boost和意外設置Boost_LIBRARY混淆,但是,錯誤消息有點誤導。他們應該說「Boost_LIBRARYDIR集合,你確定你沒有設置BOOST_LIBRARYDIR?」。 –
這正是它所說的。另外,在我看來,這應該是CMake的錯誤報告,而不是stackoverflow的問題。 – pmr