opencv移植arm共享库中嵌套库带路径-已解决
opencv移植arm共享库中嵌套库带路径-已解决
错误1 error while loading shared libraries: …/…/lib/libopencv_features2d.so: cannot open shared object file: No such file or directory
运行编译好的arm程序时遇到这个错误:解决方法首先是添加库的路径到环境变量中,但是添加之后运行还是报错,于是我查看了一下库,也就是我的交叉编译的库出现了共享库中嵌套库带路径的问题。执行命令readelf -d libopencv_highgui.so
,可以看到库自带路径,所以使用出错。
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: […/…/lib/libopencv_videoio.so]
0x00000001 (NEEDED) Shared library: […/…/lib/libopencv_imgcodecs.so]
0x00000001 (NEEDED) Shared library: […/…/lib/libopencv_imgproc.so]
0x00000001 (NEEDED) Shared library: […/…/lib/libopencv_core.so]
0x00000001 (NEEDED) Shared library: [libstdc++.so.6]
0x00000001 (NEEDED) Shared library: [libm.so.6]
0x00000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x00000001 (NEEDED) Shared library: [libc.so.6]
正常的库应该是这种,我之前编译的低版本opencv库是正常使用的。
出现问题的原因是因为配置cmake时填写的时arm-linux,应该填写Linux,进行重新配置编译生成库就行了
重新配置编译之后
错误2 fatal error: dc1394/dc1394.h: No such file or directory #include <dc1394/dc1394.h>
modules/videoio/src/cap_dc1394_v2.cpp:59:27: fatal error: dc1394/dc1394.h: No such file or directory
#include <dc1394/dc1394.h>
compilation terminated.
modules/videoio/CMakeFiles/opencv_videoio.dir/build.make:278: recipe for target ‘modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dc1394_v2.cpp.o’ failed
make[2]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_dc1394_v2.cpp.o] Error 1
CMakeFiles/Makefile2:2643: recipe for target ‘modules/videoio/CMakeFiles/opencv_videoio.dir/all’ failed
make[1]: *** [modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
解决办法在配置cmake时,WITH_1394
的不勾选,重新configure,然后generat.
ITH_1394`的不勾选,重新configure,然后generat.*