折腾了许久,终于把opencv给移植到了arm中,也在网上找了许多教程,在自己移植过程中也遇到了许多问题,下面是自己移植的方法,经过测试确实能用。
首先介绍一下环境: 电脑上装的是ubuntu14.04,开发板是Tiny4412,交叉编译器版本是友善之臂公司提供的arm-linux-gcc4.5.1,opencv版本用的是2.0.0。
(这里有一个问题一直没有解决,下载过很多不同版本的opencv,只有2.0.0版本移植成功了,其他更高版本的opencv在编译程序的时候都会出现
"warning: ../../lib/libopencv_core.so, needed by /usr/local/arm/lib/libopencv_highgui.so, not found (try using -rpath or -rpath-link)"
这种问题,看意思是说找不到相应的.so动态库文件,可是该目录下明明已经有了,郁闷,如果有朋友知道这个问题的解决办法麻烦告诉一下,谢谢)
solution: 这个问题可能是因为环境变量中LD_LIBRARY_PATH的问题,需要把LD_LIBRARY_PATH的值设置为.so动态库文件的路径。可以用echo $LD_LIBRARY_PATH查看。
另外,我的交叉编译工具安装目录位于: /opt/FriendlyArm//toolschain/4.5.1.
1. configure的配置,生成makefile
解压opencv2.0.0后,进入opencv目录,我的目录是:/home/lipengxiang/Opencv/opencv-2.0.0
# cd /home/lipengxiang/Opencv/opencv-2.0.0
下面的命令是configure的配置信息:
#./configure --host=arm-linux --without-gtk --without-carbon --without-quicktime --without-1394libs --without-ffmpeg
--without-python --without-swig --enable-static --enable-shared --disable-apps CXX=arm-linux-g++ CPPFLAGS=
-I/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/include LDFLAGS=