1

在挖掘了几个小时之后,我终于需要一些专家的帮助。我是 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>行,这将编译并运行良好

4

0 回答 0