2010-12-30 10 views
13

Próbuję skompilować przykładowy program po zainstalowaniu OpenCV z poleceniem:kompilacji kodu z bibliotek OpenCV

g ++ -o hello-world.cpp hello-world -I/usr/local/include/OpenCV - L/usr/local/lib -lm -lcv -lhighgui -lcvaux

jednak dostaję błąd, który mówi:

/usr/bin/ld: nie można odnaleźć -lcv
/usr/bin/ld: nie można znaleźć -lhighgui
/uer/bin/ld: nie można znaleźć -lcvaux collect2: ld zwrócił 1 ex to status

Co muszę zrobić, aby to poprawić? Zainstalowałem opencv pobierając najnowszą stabilną wersję i używając cmake do tworzenia plików kompilacji, a następnie uruchom make install z poziomu wiersza poleceń.

Czy coś mi brakowało?

Dzięki,

Odpowiedz

8

Trzeba dodać kolejny -L argumentu określającego rzeczywistą lokalizację bibliotek OpenCV.

+0

więc zamiast -L/usr/local/lib ma -L ? lub dodatkowe -L ... i gdzie znajdę biblioteki? Kiedy robię make install, pokazuje mi, że wszystkie pliki są aktualne i lokalizacja ... ale jest tak wiele różnych rzeczy ... wszystkie pliki .h znajdują się w/usr/local/include/opencv ... czy pliki biblioteczne mają inne rozszerzenie? – Kaigi

+0

Przejdź przez wyjście cmake, aby się dowiedzieć. –

+0

dziękuję za szybką odpowiedź - zredagowałem powyższy komentarz, ale zanim to zrobiłem, już zareagowałeś. Myślę, że mogę nie wiedzieć, czego tak naprawdę szukam. Kiedy robię make install, pokazuje mi, że wszystkie pliki są aktualne i lokalizacja ... ale jest tak wiele różnych rzeczy ... wszystkie pliki .h znajdują się w/usr/local/include/opencv ... czy pliki biblioteczne mają inne rozszerzenie? – Kaigi

31

aktualizowane (Przepraszam za moje błędy w linii poleceń)

Lepiej użyj polecenia:

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

Komenda pkg-config zlokalizuje prawidłowa to i biblioteka dla kodu źródłowego.
Aby lepiej obsługiwać programowanie OpenCV, należy użyć IDE, takiego jak code::block.

Może ten poradnik pomoże Ci w programowaniu OpenCV z code::block:
How to Setup OpenCV for code :: block in Linux and Windows?

+0

to jest odpowiednia i kompletna odpowiedź – alcor

18

Ostatnio zacząłem używać OpenCV i mam podobny problem i dla mnie to działa bardzo dobrze:

-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect 

nadzieję, że rozwiąże twój problem.

+0

Wielkie dzięki! Uratowałeś mnie przed szaleństwem! –

Powiązane problemy