cmake错误:opencv2 / opencv.hpp:opencv2 / opencv.hpp:没有这样的文件或目录

时间:2016-03-11 08:35:57

标签: linux opencv ubuntu cmake

我正在使用cmake编译opencv程序。    代码如下:

DisplayImage.cpp:

#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
    if ( argc != 2 )
    {
        printf("usage: DisplayImage.out <Image_Path>\n");
        return -1;
    }

    Mat image;
    image = imread( argv[1], 1 );

    if ( !image.data )
    {
        printf("No image data \n");
        return -1;
    }
    namedWindow("Display Image", WINDOW_AUTOSIZE );
    imshow("Display Image", image);

    waitKey(0);

    return 0;
}

的CMakeLists.txt:

cmake_minimum_required(VERSION 2.8)

project( DisplayImage )

set(OpenCV_DIR /home/lmk/opencv-3.1.0/release)

include_directories( ${OpenCV_INCLUDE_DIRS} )

add_executable( DisplayImage DisplayImage.cpp )

target_link_libraries( DisplayImage ${OpenCV_LIBS} )

我将DisplayImage.cpp和CMakeLists.txt放在我个人主文件夹中名为test的文件夹中,即/home/lmk/test/。    然后我使用命令行:

  

lmk @ lmk-virtual-machine:〜/ test $ mkdir build
  lmk @ lmk-virtual-machine:〜/ test $ cd build
  lmk @ lmk-virtual-machine:〜/ test / build $ cmake ..

哪位给我:

  

- C编译器标识是GNU 5.3.0
   - CXX编译器标识为GNU 5.3.0
   - 检查工作C编译器:/ usr / bin / cc
   - 检查工作C编译器:/ usr / bin / cc - 工作
   - 检测C编译器ABI信息
   - 检测C编译器ABI信息 - 完成
   - 检查CXX编译器是否正常工作:/ usr / bin / c ++
   - 检查工作CXX编译器:/ usr / bin / c ++ - 工作
   - 检测CXX编译器ABI信息
   - 检测CXX编译器ABI信息 - 完成
   - 配置完成
   - 生成完成
   - 构建文件已写入:/ home / lmk / test / build

但是当我使用时:

  

扫描目标DisplayImage的依赖关系
  [100%]构建CXX对象CMakeFiles / DisplayImage.dir / DisplayImage.cpp.o
  /home/lmk/test/DisplayImage.cpp:2:30:致命的错误:opencv2 / opencv.hpp:没有这样的文件或目录
  编译终止。
  make [2]: * [CMakeFiles / DisplayImage.dir / DisplayImage.cpp.o]错误1
  make [1]:*
[CMakeFiles / DisplayImage.dir / all]错误2
  make:*** [all]错误1

你知道为什么吗?    我在VM中的ubuntu 14.04终端中使用opencv 3.1.0和cmake 2.8.12.2!

1 个答案:

答案 0 :(得分:0)

为什么不使用find_package()使用'典型'方式?

尝试重复this教程中的步骤,并报告正在发生的事情。