云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > tiny6410上opencv移植总结

tiny6410上opencv移植总结

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 17:47:57

linux环境:ubuntu-10.0.4

交叉编译:4.3.2 (我用的是4.5.1) arm板子:basicarm2440

准备库:libz libjpeg libx264 libxvid libffmpeg libpng opencv yasm-0.7.2 版本:

libz: zlib-1.2.3 libjpeg: jpegsrc.v6b libpng: libpng-1.2.18 libyasm: yasm-0.7.2 opencv: opencv-2.0.0

libx264: x264-snapshot-20110612-2245-stable libxvid: xvidcore-1.3.2 lffmpeg: ffmpeg-0.5.3

这些库在其对应的官网都可以找到。

之前我也试过其他的版本,但是会出现许多版本不兼容,或者缺少某项功能的问题。如果利用其他版本进行编译,有可能会存在其他问题。有人成功编译过带ffmpeg的opencv-1.0.0,其版本组合如下(但是我没有移植成功,可能是我的交叉编译器的问题吧,我的是:4.3.2): libz: zlib-1.2.3 libjpeg: jpegsrc.v6b libpng: libpng-1.2.18 libyasm: yasm-0.7.2 opencv: opencv-1.0.0

libx264: x264-snapshot-20050911-2245 libxvid: xvidcore-1.1.3 lffmpeg: ffmpeg-0.4.9-p20051120

值得一提的是ffmpeg-0.4.9不包含swscale,因此无法操作img_convert, 所以舍去不用。

下面是opencv-2.0.0的移植过程。(简略了解压安装包的过程) 1, 设置环境变量: 代码: 全选

export PATH=$PATH:/usr/local/arm/4.3.2/bin

说明:/usr/local/arm/4.3.2/bin是我的交叉编译工具所在目录。

下面所有编译的库都放在目录:/usr/local/arm/4.3.2/arm-none-linux-gnueabi下。这么做的原因是避免在编译其他库时,需要重新指定依赖库的路径,经验告诉我,这样做同时能够消除,依赖库路径所带来的麻烦。 2, libz的交叉编译: 进入libz的目录:

CC=arm-linux-gcc ./configure

--prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi --shared #make #make install 3, libjpeg的交叉编译: 进入jpeg的目录:

#./configure --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi --enable-shared –enable-static

#gedit Makefile (修改Makefile中cc =arm-linux-gcc ar=arm-linux-ar ar2=arm-linux-ranlib) #make

make之后会出现这样的错误:”

./libtool --mode=compile arm-linux-gcc -O2 -I. -c ./jcapimin.c make: ./libtool: Command not found make: *** [jcapimin.lo] Error 127

解决办法: 检查自己系统下有没有libtool,如果没有那么自己装一个;装完之后把config.guess &&config.sub复制到jpeg目录下: #cp /usr/share/libtool/config/config.sub ./ #cp /usr/share/libtool/config/config.guess ./ 之后执行: #make install

make install 时又出现错误:

/usr/bin/install: cannot create regular file `/usr/local/libjpeg/bin/cjpeg': No such file or directory make: *** [install] Error 1

解决办法:在/usr/local/arm/4.3.2/bin下建立4个目录: #mkdir bin #mkdir lib

#mkdir include #mkdir man/man1 然后, #make install 4, libpng的交叉编译 进入png的目录:

#./configure --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi --enable-shared --enable-static --host=arm-linux #make #make install 5, yasm的交叉编译: 进入yasm目录:

#./configure --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi --enable-shared --enable-static --host=arm-linux #make #make install 6, libx264的交叉编译: 进入x264目录:

#CC=arm-linux-gcc ./configure --enable-shared --host=arm-linux –disable-asm --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi #make #make install

(我这儿会出错。我把-disable 换成--disable成功) 7, libxvid的交叉编译: 进入build/generic目录:

#./configure --prefix=/usr/local/libxvid --host=arm-linux --disable-assembly #make #make install 8, ffmpeg的交叉编译: 进入ffmpeg目录:

#./configure --prefix=/usr/local/arm/4.3.2/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

(configure时会提示找不到LIBXVID ,然后百度后 应该在 最后再加上指定libxvid安装的路径 如 --extra-ldflags=-L/c/dev/shared/lib --extra-cflags=-I/c/dev/shared/include ) 9, opencv2.0.0的交叉编译:

进入opencv2.0.0目录:首先,修改configure文件: #gedit configure

搜索-lavcodec,定位到大概18182行的位置,在“FFMPEGLIBS=\-lavcodec -lavformat” 后添加 “-lswscale”, 修改之后变为:“FFMPEGLIBS=\-lavcodec -lavformat -lswscale $FFMPEG_SWSCALE_LIBS\,然后保存退出。 在终端中输入:

#./configure --host=arm-none-linux-gnueabi --without-gtk --without-carbon --without-quicktime --without-1394libs --with-ffmpeg --without-python --without-swig --enable-static --enable-shared --disable-apps CXX=arm-linux-g++

CPPFLAGS=-I/usr/local/arm/4.3.2/arm-none-linux-gnueabi/include/ LDFLAGS=-L/ usr/local /arm/4.3.2/arm-none-linux-gnueabi/lib --with-v4l --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi CXXFLAGS=-O2 #make #make install

到此,opencv-2.0.0的一直算是成功了。接下来,需要把所有的库烧写到arm板子上去,如果烧写到根目录的lib目录下,那么不用指定LD-LIBRARY-PATH,反之则反之。

交叉编译场景分析(arm-linux)(八)--编译glib

交叉编译场景分析(arm-linux)(八)--编译glib

出处:http://blog.csdn.net/absurd/archive/2006/04/01/646993.aspx

1. 基本信息:

搜索更多关于: tiny6410上opencv移植总结 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

linux环境:ubuntu-10.0.4 交叉编译:4.3.2 (我用的是4.5.1) arm板子:basicarm2440 准备库:libz libjpeg libx264 libxvid libffmpeg libpng opencv yasm-0.7.2 版本: libz: zlib-1.2.3 libjpeg: jpegsrc.v6b libpng: libpng-1.2.18 libyasm: yasm-0.7.2 opencv: opencv-2.0.0 libx264: x264-snapshot-20110612-2245-stable libxvid: xvidcore-1.3.2 lffmpeg: ffmpeg-0.5.3 这些库在其对应的官网都可以找到。 之前我

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com