Unable to compile the first opencv program, '/ usr / bin / ld: cannot find -lcv'

g++ cv.cpp -o cv -I /usr/local/include/opencv
    -L /usr/local/lib  -lm -lcv -lhighgui -lcvaux

Error:

/usr/bin/ld: cannot find -lcv
collect2: ld returned 1 exit status

the code:

#include <cv.h>
#include <ml.h>
#include <cxcore.h>
//#include <cxtypes.h>
#include <highgui.h>

int main(int argc, char* argv[])
{
    IplImage* img = cvLoadImage( "bal.png" );
    cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE );
    cvShowImage("Example1", img);
    cvWaitKey(0);
    cvReleaseImage( &img );
    cvDestroyWindow( "Example1" );
    return 0;
}

He is 32 bit

locate libcv
/usr/lib/libcv.so.2.1
/usr/lib/libcv.so.2.1.0

`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

Installed OpenCV-2.4.0 in / usr / local, I also have a python-opencv system. Where am I making a mistake? What should I do?

+5
source share
3 answers

changelog, OpenCV ( 2.2), 2.2 , , 2.1, 2.4 (.. libcv.so, -lcv, > 2.1 ). , OpenCV ( pkg-config). pkg-config, - : g++ cv.cpp -o cv $(pkg-config --cflags --libs opencv).
, !

+6

2.1 /usr/lib, 2.4 /usr/local/lib, , lib ld , /.

+1

I had a similar problem with opencv 2.4 and had a compatibility problem. If you want to use the latest version, uninstall the previous version of opencv to avoid these problems or problems with the location of the library during compilation.

0
source

All Articles