2012-04-10 18 views
6

mam zainstalowane biblioteki OpenCV, ale nadal jestem uzyskiwanie błąd
$ g ++ -I/usr/include/OpenCV/-L -lcxcore -lhighgui hello.cpp - o cześć
/tmp/ccjjrbXr.o: W funkcji main': hello.cpp:(.text+0x2d): undefined reference to cvLoadImage”
collect2: ld powrócił stan 1 wyjścia
błąd OpenCV: niezdefiniowane odniesienia do `cvLoadImage” Ubuntu

Kiedy sprawdzić ścieżkę bibliotek dostaję
$ pkg-config - libs opencv
-lml -lcv aux -lhighgui -lcv -lcxcore

Napisałem bardzo prosty program, aby go przetestować:

enter code here 

#include< cv.h> 
#include< highgui.h> /* required to use OpenCV's highgui */ 
#include< stdio.h> 

int main() { 
    IplImage* img = 0; 
    printf("Hello\n"); 
    img = cvLoadImage("lena.jpg", 0); 
} 

Jest coś złego w mojej instalacji, ale nie jestem naprawdę w stanie zrozumieć. Wszelkie wskazówki będą wysoko cenione! Dzięki


Kiedy biegnę:

$ pkg-config --cflags --libs opencv 
-I/usr/local/include/opencv -I/usr/local/include 
/usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_contrib.so 
/usr/local/lib/libopencv_core.so /usr/local/lib/libopencv_features2d.so 
/usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_gpu.so 
/usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_imgproc.so 
/usr/local/lib/libopencv_legacy.so /usr/local/lib/libopencv_ml.so 
/usr/local/lib/libopencv_nonfree.so /usr/local/lib/libopencv_objdetect.so 
/usr/local/lib/libopencv_photo.so /usr/local/lib/libopencv_stitching.so 
/usr/local/lib/libopencv_ts.so /usr/local/lib/libopencv_video.so 
/usr/local/lib/libopencv_videostab.so 

Ale kiedy biegnę:

$ g++ 'pkg-config --cflags --libs opencv' display_image.cpp 
g++: error: pkg-config --cflags --libs opencv: No such file or directory 

OpenCV wydaje się być zainstalowany, ale nadal problem występuje nadal.

Odpowiedz

0

To byłby dobry pomysł, aby połączyć się z highgui lib -lhighgui jeśli używasz go

+0

Niestety, tak naprawdę wszedł połączone wszystkie bibliotekami, ale popełnił błąd podczas wprowadzania go do forum. Nadal daje ten sam błąd: '** g ++ -I/usr/include/opencv/-L -lhighgui hello.cpp -o hello /tmp/ccw90mKu.o: W funkcji 'main': hello.cpp :(. text + 0x2d): niezdefiniowane odwołanie do 'cvLoadImage ' collect2: ld zwrócił 1 status wyjścia' ** – user1111044

+0

@ user1111044 - wtedy prawdopodobnie nie może znaleźć biblioteki. Czy nie musisz określać katalogu, jeśli używasz "-L"?może to blokować standardowe wyszukiwanie LD_LIBRARY_PATH –

+0

Tak, to jest dokładnie ten problem, z którym mam do czynienia. Nie mam folderu do użycia razem z -L. – user1111044

-1

spróbować g ++ -o -g mypro progname.cpp pkg-config opencv --cflags --libs lub

+0

dzięki pritam .... – user2652000

+1

Lub ... co? ... – Jimbo

0

to polecenie:

g++ 'pkg-config --cflags --libs opencv' display_image.cpp 

jest inny niż ten:

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

z powodu "i" znaków ...

jeśli nie chcą zadzierać z tych znaków, można użyć

g++ $(pkg-config --cflags --libs opencv) display_image.cpp 

który jest łatwiejszy do wizualizacji

Powiązane problemy