由于项目需要,自己在Ubuntu环境下使用交叉工具链对OpenCV进行了交叉编译,期间参照了网上一些前辈的博客:
本人的操作环境:
- PC操作系统:Ubuntu 14.04 LTS
- OpenCV 2.4.9
- 编译器:arm-linux-gcc 4.3.2
- CMake版本:2.8.10.2
- 开发板:九鼎S5PV210
注:所有操作均要先通过sudo su root从普通用户切换到root用户
一、安装依赖项
apt-get install libavcodec-dev libavformat-dev libswscale-dev
事先安装依赖项可以防止后续的一些问题
二、安装交叉编译工具链
这里提供一个4.3.2的下载地址:https://download.csdn.net/download/u014731484/10334632
然后将arm-linux-4.3.2.tar.gz解压到/usr/local/arm下
tar -zxvf arm-linux-gcc-4.3.2.tar.gz
接着执行
vim /root/.bashrc
在文件的最后添加环境变量
export PATH=$PATH:/usr/local/arm/usr/local/arm/4.3.2/bin
export OPENCV_DEPEND=/usr/local/arm/opencv-depend
export OPENCV_INSTALL=/usr/local/arm/opencv-install
其中,OPENCV_DEPEND为OpenCV的依赖库的安装路径,OPENCV_INSTALL为OpenCV的安装的路径。
然后重启电脑令设置生效。
三、安装依赖库
OpenCV交叉编译之前,首先需要对依赖库进行交叉编译。因为OpenCV依赖于很多库函数,如果在编译OpenCV之前没有编译依赖项,就会导致编译后的OpenCV无法使用。 OpenCV交叉编译时各个库的依赖关系如下所示:
- zlib
- jpeg
- libpng
- zlib
- tiff
- zlib
- ffmpeg
- x264
- xvidcore