Я компилирую opencv-программы с cmake. код выглядит следующим образом:Ошибка cmake: opencv2/opencv.hpp: opencv2/opencv.hpp: Нет такого файла или каталога
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 в папке тест в моем личной домашней папке, а именно /home/lmk/test/
. Затем я использую командные строки:
ЛМК @ ЛМК-виртуальная машина: ~/тест $ MkDir сборки
ЛМК @ ЛМК-виртуальная машина: ~/тест $ кд построить
ЛМК @ ЛМК-виртуальный -machine: ~/тест/сборка $ CMake ..
которые дают мне:
- идентификация C компилятор GNU 5.3.0
- The CXX Compi ler Идентификация - GNU 5.3.0
- Проверить работоспособность компилятора C:/usr/bin/cc
- Проверить работоспособность компилятора C:/usr/bin/cc - works
- Обнаружение компилятора C ABI Информация
- Детектирование C компилятор информации ABI - сделано
- Проверьте, работает CXX компилятор:/USR/бен/C++
- Проверьте, работает CXX компилятор:/USR/бен/C++ - работает
- - Обнаружение компилятора CXX ABI info
- Обнаружение компилятора CXX Информация ABI - сделано
- Конфигурирование сделано
- Генерирование сделано
- Постройте файлы были записаны:/дома/ЛМК/тест/построить
Но когда я использую:
зависимостей Сканирование целевой DisplayImage
[100%] Строительство CXX объект CMakeFiles/DisplayImage.dir/DisplayImage.cpp.o
/home/lmk/test/DisplayImage.cpp ::30: fatal eror: opencv2/opencv.hpp: Нет такого файла или каталога
компиляция завершена.
делают [2]: * [CMakeFiles/DisplayImage.dir/DisplayImage.cpp.o] Ошибка 1
Марка [1]: * [CMakeFiles/DisplayImage.dir/все] Ошибка 2
марка: ** * [все] Ошибка 1
Вы konw почему? Я использую opencv 3.1.0 и cmake 2.8.12.2 в терминале ubuntu 14.04 в VM!
я решил ошибку, modiflying CMakeLists.txt: 'cmake_minimum_required (версия 2.8) проект (DisplayImage) комплект (OpenCV_DIR /home/lmk/opencv-3.1.0/release) include_directories (/ USR/местные/OpenCV-3.1.0/включить) add_executable (DisplayImage DisplayImage.cpp) target_link_libraries (DisplayImage /usr/local/opencv-3.1.0/lib) '. Но существует новая ошибка: ** 'DisplayImage.cpp :(. Text + 0x34): неопределенная ссылка на 'cv :: imread (cv :: String const &, int)'' ** –