由于opencv依赖,openCV项目不会构建

时间:2016-04-29 12:17:55

标签: c++ linux opencv

我从源代码构建了OpenCV而没有任何错误。

然后我尝试在项目中使用OpenCV,由于依赖性,它不会编译。警告中的所有库都已安装但具有不同的版本(实际上,在.a和.so名称之后没有添加任何版本'数字)。

这是编译错误:

/usr/bin/ld: warning: libavcodec.so.53, needed by /usr/lib/i386-linux-gnu/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libavformat.so.53, needed by /usr/lib/i386-linux-gnu/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libavutil.so.51, needed by /usr/lib/i386-linux-gnu/libopencv_highgui.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libswscale.so.2, needed by /usr/lib/i386-linux-gnu/libopencv_highgui.so, not found (try using -rpath or -rpath-link)

如何摆脱错误?为什么会发生?

编译命令:

g++ -std=c++11 -Wall -gdwarf-3 -o dist/Debug/GNU-Linux-x86/rankcollection build/Debug/GNU-Linux-x86/QueryCollection.o build/Debug/GNU-Linux-x86/main.o -L/usr/local/lib -L/usr/lib/i386-linux-gnu -lboost_filesystem -lopencv_core -lboost_program_options -lopencv_imgproc -lopencv_features2d -lopencv_flann -lopencv_nonfree -lboost_system -lopencv_highgui -std=c++11

1 个答案:

答案 0 :(得分:0)

将Boost从1.57降至1.55有所帮助。

但是我仍然不知道为什么我会遇到这个问题。