在挖掘了几个小时之后,我终于需要一些专家的帮助。我是 cmake 的新手,正在尝试将我的 Visual Studio 2008 项目移植到 cmake。我的项目使用 opencv、qt 和 boost 库。现在我已经设法使用 opencv 和 qt 运行简单的 cmake 示例,但我被 boost 困住了。
瓶颈是这样的:CMake 找到正确的 boost 版本,找到库并且在配置时没有给出错误。但是当我尝试使用 make 构建项目时,它给了我:
“致命错误:boost/smart_ptr.hpp:没有这样的文件或目录”
假设配置正确,cmake 应该能够找到 boost 包含目录。我已设置BOOST_ROOT
为正确的 boost 根目录,这就是配置不会出错的原因。但是在运行 make 时会发生什么?我在这里错过了一些简单的东西吗?迫切需要帮助......如果这是一个愚蠢的问题,我很抱歉。
这是我的 CMakeLists.txt 文件:
cmake_minimum_required( VERSION 2.6 )
project (CMakeBoostTutorial)
find_package( Boost 1.46.1 COMPONENTS date_time REQUIRED)
link_directories ( ${Boost_LIBRARY_DIRS} )
include_directories ( ${Boost_INCLUDE_DIRS} )
add_executable ( helloworld helloworld.cc )
target_link_libraries (
helloworld
${Boost_LIBRARIES}
)
这是我的 helloworld.cc:
#include <iostream>
#include <stdlib.h>
#include <boost/smart_ptr.hpp>
using namespace std;<br/>
int main(int argc, char *argv[]){
cout<<"Hello World";
return 0;
}
PS:如果我删除该#include <boost/smart_ptr.hpp>
行,这将编译并运行良好