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?
Nun, die Fehlermeldung sagt Ihnen, was zu tun ist - kompilieren Sie Ihren Code mit dem '-FPIC' Flag. –