1. 程式人生 > >OpenCV編譯錯誤:/usr/local/lib/opencv_core.so.3.1:error adding symols: DSO missing from command line

OpenCV編譯錯誤:/usr/local/lib/opencv_core.so.3.1:error adding symols: DSO missing from command line

今天編譯一個c++檔案 用到opencv,編譯出錯,通過百度 解決了,

錯誤程式碼:

------------------------
root@caffe:~/thrid_week# g++ -o test_mnist test_mnist.cpp -lopencv_dnn -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lstdc++ -lopencv_core
/usr/bin/ld: warning: libopencv_imgproc.so.3.1, needed by //usr/local/lib/libopencv_dnn.so, may conflict with libopencv_imgproc.so.2.4
/usr/bin/ld: warning: libopencv_core.so.3.1, needed by //usr/local/lib/libopencv_dnn.so, may conflict with libopencv_core.so.2.4 /usr/bin/ld: /tmp/cczT82RA.o: undefined reference to symbol '_ZN2cv6String10deallocateEv' //usr/local/lib/libopencv_core.so.3.1: error adding symbols: DSO missing from command line collect2:
error: ld returned 1 exit status

解決方式:
在編譯的時候 加上opencv lib的地址 我的是 /usr/local/lib,所以如下編譯

root@caffe:~/thrid_week# g++ -L /usr/local/lib -o test_mnist test_mnist.cpp -lopencv_dnn -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lstdc++ -lopencv_core

感謝解決這個問題的大神,附上原來的解決的網站連線:點選此處