2015-08-02 1 views
0

Я пытаюсь создать видеопроект opencv 3.0.0 под ubuntu 14.04 на eclipse luna. Это пример кода:ошибка связи при использовании opencv 3.0 на eclipse

#include <opencv2/opencv.hpp> 
#include <opencv2/highgui.hpp> 
#include <opencv2/videoio.hpp> 

using namespace cv; 

int main(int argc, char** argv) 
{ 
    VideoCapture cap(0); 

    Mat edges; 
    namedWindow("edges", 1); 
    while(1) { 
     Mat frame; 
     cap >> frame; 
     cvtColor(frame, edges, CV_BGR2GRAY); 
     GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5); 
     Canny(edges, edges, 0, 30, 3); 
     imshow("edges", edges); 

    if(waitKey(30) >= 0)  break; 
    } 
    return 0; 
} 

Я получаю следующее сообщение об ошибке:

undefined reference to symbol '_ZN2cv12GaussianBlurERKNS_11_InputArrayERKNS_12_OutputArrayENS_5Size_IiEEddi' 
//usr/local/lib/libopencv_imgproc.so.3.0: error adding symbols: DSO missing from command line 
collect2: error: ld returned 1 exit status 

я получаю подобные ошибки для других фильтров:

undefined reference to symbol '_ZN2cv8cvtColorERKNS_11_InputArrayERKNS_12_OutputArrayEii' 

undefined reference to symbol '_ZN2cv5CannyERKNS_11_InputArrayERKNS_12_OutputArrayEddib' 

Я соединение (-l) этот ЛИЭС :

opencv_core 
opencv_videoio 
opencv_imgcodecs 
opencv_highgui 
opencv_objdetect 

любые мысли?

+1

Ваша ошибка _ // usr/local/lib/libopencv_imgproc.so.3.0: _ ясно заявляет, что вам не хватает _opencv_imgproc_. Простой поиск google с символами добавления _error: DSO, отсутствующий в командной строке, сказал бы вам, что вы должны добавить требуемый lib с -l. – Miki

ответ

2

Эти символы находятся в библиотеке imgproc. Поэтому вы должны добавить opencv_imgproc в список библиотек, связанных с -l.

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