Kaigi
Kaigi

Reputation: 325

Linking errors when compiling code with OpenCV Libraries

I'm trying to compile a sample program after installing Opencv with the command:

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

however, I'm getting an error that says:

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

What do I need to do to correct this?? I installed opencv by downloading the latest stable version and using cmake to create the build files, then ran make install from the command line.

Was there anything I may have missed?

Upvotes: 15

Views: 51101

Answers (3)

anarchy99
anarchy99

Reputation: 1023

UPDATED-

Better use this command:

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

The pkg-config command will locate the correct include and library for your source code.
For better handling with OpenCV programming go with an IDE like code::block.

Maybe this tutorial will help you in OpenCV programming with code::block:
How to Setup OpenCV for code :: block in Linux and Windows?

Upvotes: 34

wildCat
wildCat

Reputation: 211

Recently I started using OpenCV and I got similar problem and for me this works really well:

-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect

Hope it will solve your problem.

Upvotes: 21

Ignacio Vazquez-Abrams
Ignacio Vazquez-Abrams

Reputation: 798436

You need to add another -L argument specifying the actual location of the OpenCV libraries.

Upvotes: 9

Related Questions