2015-09-04 5 views
2

я не могу получить мой CLion построить проект из-за странной ошибки при сохранении своих CMakeLists и/или строительство проекта: Error:Found package configuration file: /usr/share/opencv/OpenCVConfig.cmake but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be NOT FOUND.OpenCV CLion (Cmake) увязывание вопрос - CMake отчеты странная ошибка

Источник файл:

#include <stdio.h> 
#include <opencv2/opencv.hpp> 

using namespace cv; 

int main(int argc, char** argv) 
{ 
    Mat image; 
    image = imread("lena.jpg", 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 3.3) project(Test) find_package(OpenCV REQUIRED) add_executable(Test main.cpp) target_link_libraries(Test ${OpenCV_LIBS})

$ PKG-конфигурации --cflags OpenCV -I/usr/include/opencv

$ PKG-конфигурации --libs OpenCV -L/lib64 -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab -ltbb -lGL -lGLU -lrt -lpthread -lm -ldl

Дело в том, когда я вручнуюcmake . & make (со всеми же CMakeLists файл) мой проект из консоли работает просто отлично с без ошибок.

Версия OpenCV: 2.4.11-1 (arch linux) CLION: последний.

Разница OpenCVConfig.cmake по сравнению с git-версией: https: // www.diffchecker. ком/vtmmiu1w

Ручной вывод сборки:

[[email protected] Test]$ cmake . 
-- The C compiler identification is GNU 5.2.0 
-- The CXX compiler identification is GNU 5.2.0 
-- Check for working C compiler: /usr/bin/cc 
-- Check for working C compiler: /usr/bin/cc -- works 
-- Detecting C compiler ABI info 
-- Detecting C compiler ABI info - done 
-- Detecting C compile features 
-- Detecting C compile features - done 
-- Check for working CXX compiler: /usr/bin/c++ 
-- Check for working CXX compiler: /usr/bin/c++ -- works 
-- Detecting CXX compiler ABI info 
-- Detecting CXX compiler ABI info - done 
-- Detecting CXX compile features 
-- Detecting CXX compile features - done 
-- Configuring done 
-- Generating done 
-- Build files have been written to: /home/dobegor/ClionProjects/Test 
[[email protected] Test]$ make 
Scanning dependencies of target Test 
[ 50%] Building CXX object CMakeFiles/Test.dir/main.cpp.o 
[100%] Linking CXX executable Test 
[100%] Built target Test 
+0

я застрял, я попробовал почти все возможно. Аналогичная проблема возникла и на SO, но она не была решена. – 12sd

+0

Когда вы строите проект вручную, вы делаете * in-source build * (запустите cmake из исходного каталога), не так ли? Он может конфликтовать с * out-of-source * build, выполненным CLion. – Tsyvarev

+0

@ Цыварев да, но я не могу понять, в чем разница в поиске пакетов CMake между источником и источником из источника. – 12sd

ответ

4

Я не знаю, что на самом деле произошло, , но я добавил строку, которая вручную устанавливает OpenCV_FOUND 1 в OpenCVConfig.cmake и все работает отлично:

set(OpenCV_FOUND 1)

Смежные вопросы