我使用opencv处理商业应用程序。我知道我使用libopencv_highgui.so但是我不确定我的二进制文件中是否需要libav,因为二进制文件中没有提到它:
objdump -p <binary>
结果:
NEEDED libopencv_imgproc.so.2.4
NEEDED libopencv_highgui.so.2.4
NEEDED libopencv_core.so.2.4
NEEDED libinteractive_markers.so
NEEDED libimage_loader.so
NEEDED libtf.so
NEEDED libroscpp.so
NEEDED libboost_filesystem.so.1.58.0
NEEDED librosconsole.so
NEEDED libroscpp_serialization.so
NEEDED librostime.so
NEEDED libboost_system.so.1.58.0
NEEDED libyaml-cpp.so.0.5
NEEDED libstdc++.so.6
NEEDED libm.so.6
NEEDED libgcc_s.so.1
NEEDED libc.so.6
根本没有提到libav,因此,一切都好吗?
我怀疑并开始检查libopencv_highgui.so
objdump -p libopencv_highgui.so
我明白了:
Dynamic Section:
...
NEEDED libavcodec.so.54
NEEDED libavformat.so.54
NEEDED libavutil.so.52
这是否意味着我使用libopencv_highgui.so但我的二进制文件不需要libav或我没有正确检查?
由于