Reputation: 81
I have installed the openCV libraries but I am still getting the error
$ g++ -I /usr/include/opencv/ -L -lcxcore -lhighgui hello.cpp -o hello
/tmp/ccjjrbXr.o: In function main':
hello.cpp:(.text+0x2d): undefined reference to
cvLoadImage'
collect2: ld returned 1 exit status
When I check for the path of the libraries I get
$ pkg-config --libs opencv
-lml -lcvaux -lhighgui -lcv -lcxcore
I have written a very simple program to test it :
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 );
}
There is something wrong with my installation but I am really not able to figure it out. Any guidance will be highly appreciated! Thanks
When I run:
$ 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
But when I run:
$ g++ 'pkg-config --cflags --libs opencv' display_image.cpp
g++: error: pkg-config --cflags --libs opencv: No such file or directory
OpenCV seems to be installed but still the problem persists.
Upvotes: 8
Views: 21662
Reputation: 93468
You used single quotes '
instead of backquotes/backticks `
. This is the corrected command:
g++ hello.cpp -o hello `pkg-config --cflags --libs opencv`
Upvotes: 15
Reputation: 101
this command:
g++ 'pkg-config --cflags --libs opencv' display_image.cpp
is different than this:
g++ `pkg-config --cflags --libs opencv` display_image.cpp
because of the ` and ' chars...
if you dont want to mess with those chars, you can use
g++ $(pkg-config --cflags --libs opencv) display_image.cpp
which is easier to visualize
Upvotes: 0
Reputation: 1
try g++ -g -o mypro progname.cpp pkg-config opencv --cflags --libs
or
Upvotes: -1
Reputation: 96167
It would be a good idea to link to the highgui lib -lhighgui
if you are using it
Upvotes: 0