zedboard上移植OPENCV库
注意:在《嵌入式系统软硬件协同设计实战指南》中13章中,说了须要关闭各种设置开关,根本原因是我们没有对应的库支持,所以我们假设须要在opencv中使用对应的库,那么就必须提前将各种库交叉编译好,放入交叉编译器的文件夹,我的交叉编译器安装文件夹/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/
那么我们就開始交叉编译下面库。
1 交叉编译器的搭建
2 交叉编译JPEG
1.安装libtool工具
1.1 下载libtool工具libtool-2.2.10.tar.gzhttp://mirrors.ustc.edu.cn/gnu/libtool/
1.2 tar -xvzf libtool-2.2.10.tar.gz -C /home/xzy/sdb1/JPEG/
1.3 进入解压后的文件夹,运行./configure
1.4 make
1.5 make install
2.JPEG编码库移植
2.1 下载JPEG源代码包,选择jpegsrc.v6b.tar.gz http://www.ijg.org/files/
2.2 解压 tar jpegsrc.v6b.tar.gz -C /home/xzy/sdb1/JPEG/
2.3 进入解压后的文件夹,将刚刚libtool-2.2.10文件夹下的libltdl/config/config.sub和config.guess拷贝至此文件夹中。
2.4 配置./configure CC=arm-xilinx-linux-gnueabi-gcc --host=arm-unknown-linux
–prefix=/home/xzy/sdb1/JPEG/jpeg-6b --enable-shared --enable-static
2.5 make
2.6 进入安装路径,创建例如以下文件夹 mkdir bin lib include man man/man1,我的安装文件夹就在这个文件夹,注意必需要创建这些文件夹,不然是不然make install的(试过了。)
2.7 make install,然后就ok了。
3 交叉编译x264
1 下载 yasm
./configure --enable-shared --prefix=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/ --host=arm-unknown-linux
make
make install
2 交叉编译x264
./configure --prefix=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/ --enable-shared
# 这里改为ARM ARCH=ARM SYS=LINUX # 这里改为arm-xilinx-linux-gnueabi-gcc CC=arm-xilinx-linux-gnueabi-gcc # 这里去掉-DHAVE_MMXEXT -DHAVE_SSE2 -DARCH_X86 CFLAGS=-Wall -I. -O4 -ffast-math -D__X264__ -DHAVE_MALLOC_H -DSYS_LINUX -DHAVE_PTHREAD -s -fomit-frame-pointer LDFLAGS= -lm -lpthread -sAS=nasm
libx264.a: .depend $(OBJS) $(OBJASM) rm-linux-ar rc libx264.a $(OBJS) $(OBJASM) arm-linux-ranlib libx264.a
make make install
4 交叉编译xvid
cd xvidcore-1.1.3/build/generic/
./configure --prefix=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/ --disable-assembly
gedit platform.inc 改动 CC=arm-xilinx-linux-gnueabi-gcc
5 交叉编译ffmpeg
6 交叉编译OpenCV
參考:
arm mini2440 基于v4l2 ffmpeg x264的视频远程监控:http://blog.csdn.net/ghostyu/article/details/7371310