使用cmake未找到Boost include标头

使用cmake未找到Boost include标头,boost,cmake,Boost,Cmake,这个问题非常类似于,但是这里的提示(似乎)并不能解决我的问题 我有一个CMakeLists.txt CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(jetorigin) SET(Boost_ADDITIONAL_VERSIONS "1.43" "1.43.0" "1.44" "1.44.0" "1.45" "1.45.0") SET(BOOST_ROOT "$ENV{HOME}/usr") MESSAGE(STATUS "** Search Boost

这个问题非常类似于,但是这里的提示(似乎)并不能解决我的问题

我有一个CMakeLists.txt

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(jetorigin)

SET(Boost_ADDITIONAL_VERSIONS "1.43" "1.43.0" "1.44" "1.44.0" "1.45" "1.45.0")
SET(BOOST_ROOT "$ENV{HOME}/usr")
MESSAGE(STATUS "** Search Boost root: ${BOOST_ROOT}")
FIND_PACKAGE(Boost 1.43 COMPONENTS filesystem regex REQUIRED)
 MESSAGE(STATUS "** Boost Include: ${Boost_INCLUDE_DIR}")
 MESSAGE(STATUS "** Boost Libraries: ${Boost_LIBRARY_DIRS}")
 MESSAGE(STATUS "** Boost Libraries: ${Boost_LIBRARIES}")

INCLUDE_DIRECTORIES(${BOOST_INCLUDE_DIR})
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})

ADD_SUBDIRECTORY(src)
并在我的代码中包含一些boost头,如下所示:

#include <boost/regex.hpp>
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
但我得到了这个错误:

error: boost/regex.hpp: No such file or directory
(其他包括类似的内容)。可以在此处找到make VERBOSE=1的完整输出。看起来好像没有添加-I标志,即使Boost\u INCLUDE\u DIR似乎设置正确

顺便说一下,我正在使用CMake 2.8.1。 如果您能给我一些提示,告诉我这里出了什么问题,我将不胜感激


编辑: 我发现了问题所在。似乎我从我的档案深处提取了一些我的标准CMakeLists.txt的古老版本。它需要:

INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
(注意非资本化的“提振”)。。。
也许旧版本的CMake在这方面比较宽容,或者运气不好,我只是选择了一个版本的CMakeLists.txt开始,但有一个未修复的错误。

哦,该死。没关系,我找到了。。请参阅我上面的编辑。可能的副本显然在
Boost\u INCLUDE\u DIRS
Boost\u INCLUDE\u DIR
之间有很大的区别。我错误地使用了前者;后者解决了这个问题。谢谢你的指点。
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})