一、环 境:
系统 :Ubuntu10.04(内核 2.6.32)
目标 板: FL2440(系统 :Qtopia2.2,内核:2.6.28)
arm-linux-gcc:4.3.2
二、准备 :
安装依赖库:sudo apt-get install build-essential manpages-dev pkg-config
安装libpng:
sudo apt-get install zlib1g-dev
sudo wget http://downloads.sourceforge.net/libpng/libpng-1.2.18.tar.gz?modtime=1179259677&big_mirror=0
sudo tar -xvzf libpng-1.2.18.tar.gz
cd libpng-1.2.18
sudo ./configure --prefix=/usr/local/libpng
sudo make
sudo make install
同样的方式安装: libjpeg libz
注 意:如果出现“/usr/bin/install: 无法创建普通文件“/usr/local/libjpeg/bin/cjpeg”: 没有该文件或目录”的这种错误,是因为无法创建相关的目录,这里需要自己手动创建: sudo mkdir -p /usr/local/libjpeg/bin/cjpeg
解压 :OpenCV-2.0.0.tar.bz2
#cd OpenCV-2.0.0
#./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/usr/local/arm/4.3.2/arm-
none-linux-gnueabi/include LDFLAGS=-L/usr/local/arm/4.3.2/arm-none-linux-
gnueabi/libc/lib --with-v4l --prefix=/usr/local/arm --libdir=/usr/local/arm/lib –
includedir=/usr/local/arm/include
#make
#make install
--host=arm-linux :指出交叉编 译 arm 平台
--without-gtk:忽略 gtk+2.0 windows
--without-carbon: 不使用 Mac OS 上的 X 库
--without-quicktime
--without-1394libs
--without-ffmpeg
--without-python
--without-swig
--enable-static :生成静态 库
--disable-shared:不生成动 态 库
CXX=arm-linux-g++ : 指定编 译 工具(注:编译opencv和编译目标版内核的交叉编译工具应当匹配都用4.3.2)
CPPFLAGS=-I/usr/local/arm/4.3.2/arm-none-linux-gnueabi/include:OpenCV 会用到一
些 dev 的包,如 png.h,jpeglib.h,大部分头 文件在/usr/include 下。
LDFLAGS=-L/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/lib:连 接库
--prefix=/usr/local/arm 目标 安装目录
--libdir=/usr/local/arm/lib 安装库 目录
–includedir=/usr/local/arm/include 安装头 文件目录
三、移植
将/usr/local/arm/lib 里的
libcvaux.so.4.0.0
libcv.so.4.0.0
libcxcore.so.4.0.0
libhighgui.so.4.0.0
libml.so.4.0.0
拷出来全部重命名
*.so.4
用 nfs复制到开 发 板上
写个 test 程序(用刚 编 好的库 和 arm-linux-gcc 编 译 )
就可以去看效果了