2017-02-07 3 views
0

Ich habe kürzlich versucht, Eclipse richtig zu konfigurieren, um OpenCV verwenden zu können. Nach der Installation auf meinem Computer, (Ubuntu, mit cmake) habe ich versucht, einen Beispielcode aus den OpenCV-Tutorials zu erstellen. Dies ist der Beispielcode.Probleme beim Erstellen von OpenCV-Code unter Linux

#include <cv.h> 
#include <opencv2/opencv.hpp> 
#include <opencv2/core.hpp> 
#include <highgui.h> 

using namespace cv; 

int main(int argc, char** argv) 
{ 
    Mat image; 
    image = imread(argv[1], 1); 

    if(argc != 2 || !image.data) 
    { 
     printf("No image data \n"); 
     return -1; 
    } 

    namedWindow("Display Image", CV_WINDOW_AUTOSIZE); 
    imshow("Display Image", image); 

    waitKey(0); 

    return 0; 
} 

Einige Ergänzungen zu enthalten, damit es funktioniert.

Alles ist richtig gefunden, aber wenn gebaut, gibt es diese 3 Fehler. (Die Datei, die ich kompilieren bin ist test.cpp genannt)

./test.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC  

make: *** [libOpenCV] Error 1 

recipe for target 'libOpenCV' failed 

Ich weiß nicht, warum diese Fehler passiert sind, oder wie man es beheben. Jeder hat Ahnung?

+0

Nun, die Fehlermeldung sagt Ihnen, was zu tun ist - kompilieren Sie Ihren Code mit dem '-FPIC' Flag. –

Antwort

0

Ich denke, Sie müssen den Link obj überprüfen, opencv erfordert die Anzahl der Bibliotheken, um ordnungsgemäß zu funktionieren. Bitte überprüfen Sie das Detailhandbuch auf der opencv Website.

Verwandte Themen