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.
können Sie versuchen, 'g ++ test.cpp -o opencv \' pkg-config --cflags --libs opencv \ '' –
@ManthanTilva Wie dumm von mich. Vielen Dank! Es klappt! – Hilman