赞
踩
静态链接库与动态链接库
opencv arm-linux
交叉编译并移植
参考网址:https://www.jianshu.com/p/dbe848e4ad0d
动态库:
1.gcc -fPIC -shared xxx1.c xxx2.c xxx3.c -o libxxx.so
2.gcc -fPIC -shared xxx1.o xxx2.o xxx3.o -o libxxx.so
静态库:
ar -rc libxxx.a xxx1.o xxx2.o xxx3.o
opencv arm-linux
交叉编译并移植参考博客:https://blog.csdn.net/spiremoon/article/details/105923235
opencv
库opencv.pc
【注意opencv.pc
中包含的路径要与自己交叉编译得到的动态库位置保持一致】,此目的是告知编译器去依次链接哪些需要的动态库,这样一来就不需要手动指定需要哪些动态库了(参考博客:https://blog.csdn.net/s15810751918/article/details/107705387)opencv
交叉编译得到的动态库移植到arm开发板中opencv
库用tar命令打包移植到arm开发板中(路径最好与主机上opencv
动态库的路径名称一致),然后tar zxvf
解压方法一:
1.qt项目工程的opecv的lib路径应该为移植的嵌入式Linux中的opecv的动态库路径
2.在移植的嵌入式Linux平台下设置LD_LIBRARY_PATH变量使其包含opecv的动态库的路径
然而该方法在本项目中未能成功
方法二:需要到的.so文件:制到系统默认的链接库路径中
1.opecv的动态库移植到目标板上的嵌入式linux的usr/lib下
2.在项目工程中添加需要用到的库(本地主机上的相对路径也要有需要的opencv动态库)
LIBS += -L/usr/lib\
-lopencv_highgui \
-lopencv_imgproc \
-lopencv_videoio \
-lopencv_imgcodecs\
-lopencv_core
3.INCLUDEPATH += /usr/local/include
方法三:
1.sudo vi /etc/ld.so.conf.d/opencv.conf
2.在文件里写上库文件路径:/usr/local/lib/
2.sudo ldconfig
然而该方法在本项目中未能成功
方法四:
1.sudo vi bash.bashrc
2.PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv/install_opencv/lib/pkgconfig
2.export PKG_CONFIG_PATH
sudo cp -d libopencv_core libopencv_highgui libopencv_imgproc /usr/local/arm/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib
在移植之前多看相关博客,列出方案再进行移植。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。