一、編譯環境及庫文件
linux環境:Fedora14
交叉編譯:4.5.1
arm板子:tiny6410
libz: zlib-1.2.7
libjpeg: jpegsrc.v7
libpng: libpng-1.5.10
libyasm: yasm-1.2.0
opencv: opencv-2.4.2
libx264: x264-snapshot-20120608-2245
libxvid: xvidcore-1.3.2
lffmpeg: ffmpeg-0.10.3
cmake: cmake-2.8.8-Linux-i386.tar,gz
二、opencv-2.4.1的移植過程
1、libz的交叉編譯:
# ./configure --prefix=/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi --shared
修改makefile
CC=arm-linux-gcc
AR=arm-linux-ar rc
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