Reputation: 3952
I'm trying to compile an opencv file however highgui library seems to be not found
g++ -O2 -W -Wall -lhighgui tracking.cc -o tracking
/usr/bin/ld: cannot find -lhighgui
collect2: error: ld returned 1 exit status
Any idea how to fix this?
I tried
updatedb
ldconfig
g++ -O2 -W -Wall -L/usr/lib/libopencv_highgui.so tracking.cc -o tracking
but nothing seems to work..
EDIT: issuing a pkg-config --libs --cflags opencv returns:
-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_ocl.so /usr/local/lib/libopencv_photo.so /usr/local/lib/libopencv_stitching.so /usr/local/lib/libopencv_superres.so /usr/local/lib/libopencv_ts.a /usr/local/lib/libopencv_video.so /usr/local/lib/libopencv_videostab.so -lrt -lpthread -lm -ldl
issuing a
g++ pkg-config --libs --cflags opencv
-L/usr/local/lib/ tracking.cc -o tracking
returns
/tmp/ccrc3n9d.o: In function main':
tracking.cc:(.text+0x53): undefined reference to
cvCreateCameraCapture'
tracking.cc:(.text+0x95): undefined reference to cvNamedWindow'
tracking.cc:(.text+0xb1): undefined reference to
cvMoveWindow'
tracking.cc:(.text+0xc5): undefined reference to cvNamedWindow'
tracking.cc:(.text+0xe1): undefined reference to
cvMoveWindow'
......
No idea!
Upvotes: 0
Views: 1285
Reputation: 3952
Ok found a solution, just drop my code inside the samples directory of opencv and called buildall.sh
On a separate note isntalling opencv is not suggested but instead linking manually each time is best.
Upvotes: 0