opencv 移植到4412

一、编译环境及库文件

linux环境:ubuntu 12.04.1
交叉编译:4.5.1
arm板子:tiny4412

libz:        zlib-1.2.7
libjpeg:      jpegsrc.v7
libpng:      libpng-1.5.8
libyasm:      yasm-1.2.0
opencv:        opencv-2.4.2
libx264:      x264-snapshot-20120608-2245
libxvid:      xvidcore-1.3.4
lffmpeg:      ffmpeg-0.10.3
cmake:        cmake-2.8.8-Linux-i386.tar,gz

二、opencv-2.4.9的移植过程

1、libz的交叉编译:

# ./configure --prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi --shared
修改makefile
CC=arm-linux-gcc
AR=arm-linux-ar
RANLIB=arm-linux-ranlib
CDSHARED=arm-linux-gcc -shared -wl, -soname,libz.so.1,--version-script,zl
lib.map
#make 
#make install

2、libjpeg的交叉编译:

#./configure --host=arm-linux --prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi --enable-shared --enable-static
#make install


3、libpng的交叉编译

#./configure --host=arm-linux --prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi --enable-shared --enable-static 
#make
#make install

4、yasm的交叉编译:

#./configure --host=arm-linux --prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi --enable-shared --enable-static 
#make
#make install


5、libx264的交叉编译:

#CC=arm-linux-gcc ./configure --enable-shared --host=arm-linux --disable-asm --prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi
#make
#make install
6、libxvid的交叉编译:

#cd build/generic
#./configure --prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi --host=arm-linux  --disable-assembly
#make
#make install

7、ffmpeg的交叉编译:

#./configure --prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi --enable-shared --disable-static --enable-gpl --enable-cross-compile --arch=arm --disable-stripping --target-os=linux --enable-libx264 --enable-libxvid --cc=arm-linux-gcc --enable-swscale
#make
#make install

8.cmake-gui安装
到官网上下载已经编译好的cmake-2.8.8-Linux-i386.tar,gz,解压就可以了
 
9、opencv2.4.1的交叉编译:

用到的主要目录说明:
交叉编译工具链所在目录    /opt/FriendlyARM/toolschain/4.5.1/
安装opencv的目录             /usr/local/
opencv源码所在目录          /home/6410/opencv/opencv-2.4.2/
编译好的opencv库所在目录      /home/6410/opencv/opencv-2.4.2/build

#mkdir build
#cd build
#cmake-gui
选择源代码目录/home/6410/opencv/opencv-2.4.2/
选择Build目录:/home/6410/opencv/opencv-2.4.2/build
点击Configure,保持generator为Unix Makefiles,选择Specify options for cross-compiling,点击Next,
Operating System填写arm-linux
C Compilers填写opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc
C++ Compilers填写opt/FriendlyARM/toolschain/4.5.1//bin/arm-linux-g++
程序库的Target Root填写opt/FriendlyARM/toolschain/4.5.1/
然后点击Finish。
默认安装目录为/usr/local,点击Generate生成Makefile。

#make

修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt,重新编译,错误消除

打开cmake-gui之前去掉

去掉WITH_CUDA

去掉WITH_GTK

去掉WITH_1394

去掉WITH_GSTREAMER

去掉WITH_LIBV4L(后边有v4l这个没用不要选)

去掉WITH_TIFF

去掉BUILD_OPENEXR

去掉WITH_OPENEXR

去掉WITH_OPENCL

去掉BUILD_opencv_ocl否则make出错

#make

#make install

很重要!!!然后复制交叉编译好的链接库

 /usr/local/arm/opencv-install/lib 下所有的动态链接库 拷贝到交叉编译下opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi /lib

我用的是友善之臂的tiny4412开发板,使用nfs挂载pc共享目录,将lib内容复制到板子的lib/

测试程序通过了就可以了。

参考http://www.linuxidc.com/Linux/2012-11/74192.htm

http://www.oschina.net/question/2371345_2150582

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值