2016-05-23 14 views
0

Ich suchte bereits nach Lösungen, kann aber keine finden. Das ist mir noch neu, also verzeiht mir, wenn es belanglos ist. Mein Betriebssystem ist Ubuntu 16.04 übrigens.C++ - OpenCV-Programm kann nicht kompiliert werden

Ich habe OpenCV 3 installiert mit Python mit pyimagesearch Tutorial. Eines der umfangreichsten Installations-Tutorials für OpenCV, das ich je gesehen habe. Also, nachdem ich Python mit OpenCV für längere Zeit benutzt habe, muss ich mein Spiel mit OpenCV mit C++ erweitern. Ich habe den Code zum Laden und Anzeigen von Bild für C++ aus dieser site kopiert und eingefügt. Dann habe ich mein Programm mit diesem Befehl zusammengestellt:

g++ `pkg-config --cflags --libs opencv` test.cpp -o opencv 

Zuerst habe ich diesen Fehler hätte:

/usr/bin/ld: cannot find -lippicv 

Nachdem die Lösung gefunden (durch die -lippicv von opencv.pc entfernen), bekam ich diese Ausgabe:

/tmp/ccriaGtQ.o: In function `main': 
test.cpp:(.text+0x9d): undefined reference to `cv::imread(cv::String const&, int)' 
test.cpp:(.text+0x128): undefined reference to `cv::namedWindow(cv::String const&, int)' 
test.cpp:(.text+0x17d): undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)' 
test.cpp:(.text+0x1a5): undefined reference to `cv::waitKey(int)' 
/tmp/ccriaGtQ.o: In function `cv::String::String(char const*)': 
test.cpp:(.text._ZN2cv6StringC2EPKc[_ZN2cv6StringC5EPKc]+0x4d): undefined reference to `cv::String::allocate(unsigned long)' 
/tmp/ccriaGtQ.o: In function `cv::String::~String()': 
test.cpp:(.text._ZN2cv6StringD2Ev[_ZN2cv6StringD5Ev]+0x14): undefined reference to `cv::String::deallocate()' 
/tmp/ccriaGtQ.o: In function `cv::Mat::~Mat()': 
test.cpp:(.text._ZN2cv3MatD2Ev[_ZN2cv3MatD5Ev]+0x39): undefined reference to `cv::fastFree(void*)' 
/tmp/ccriaGtQ.o: In function `cv::Mat::operator=(cv::Mat const&)': 
test.cpp:(.text._ZN2cv3MataSERKS0_[_ZN2cv3MataSERKS0_]+0x115): undefined reference to `cv::Mat::copySize(cv::Mat const&)' 
/tmp/ccriaGtQ.o: In function `cv::Mat::release()': 
test.cpp:(.text._ZN2cv3Mat7releaseEv[_ZN2cv3Mat7releaseEv]+0x4b): undefined reference to `cv::Mat::deallocate()' 
collect2: error: ld returned 1 exit status 

Das macht mich verrückt. Ich bin immer noch ein Anfänger für diese Art von Dingen. Also, jede Hilfe wird sehr geschätzt.

Danke.

+2

können Sie versuchen, 'g ++ test.cpp -o opencv \' pkg-config --cflags --libs opencv \ '' –

+0

@ManthanTilva Wie dumm von mich. Vielen Dank! Es klappt! – Hilman

Antwort

2

@ ManthanTilva Kommentar eine richtige Antwort lautet:

Try g++ test.cpp -o opencv pkg-config --cflags --libs opencv

Verwandte Themen