可以通过输入echo $PATH命令检查环境变量是否设置正确,如下图:
可以,编译C文件进行测试,
使用gedit在任意目录下编辑hello.c文件如图所示,保存后进入终端。
以root身份进入到当前目录下,输入arm-xilinx-linux-gnueabi-gcc -o hello hello.c命令(该命令root身份有效)
生成hello可执行文件,输入file hello命令,hello文件信息如下,显示arm可执行文件。
此时证明arm-xilinx交叉编译工具安装正确无误,进入下一步。
在此之前建议,添加环境变量用于简单表示交叉编译库存放路径,每次启动终端都需要输入此命令
export ZYNQ_CV_BUILD=/opt/opencv/opencv-lib
使用echo $ZYNQ_CV_BUILD命令检验是否添加环境变量,再开始对依赖库的编译。
2.依赖库的交叉编译
对于依赖库的编译,都需要进行配置,当发生配置错误时可使用./configure --help命令查看帮助,以及阅读相应log文件查看编译出错原因。切记需要按照顺序编译,并且一定注意版本一致。
(1)zlib-1.2.7
由于zlib中没有--host选项,所以需要预先声明cc变量
unzip zlib127.zip
cd zlib-1.2.7
export CC=arm-xilinx-linux-gnueabi-gcc
./configure --prefix=$ZYNQ_CV_BUILD --shared
make
make install
然后,可进入$ZYNQ_CV_BUILD/lib目录下检查是否已编译ARM环境的zlib库
cd $ZYNQ_CV_BUILD/lib
ls
file libz.so.1.2.7
如下图所示,则表明成功编译arm所需库文件,以下依赖库均可采用此种检查方式,故略去。
(2)jpeg-8d
tar -xzvf jpegsrc.v8d.tar.gz
cd jpeg-8d
./configure --prefix=$ZYNQ_CV_BUILD --host=arm-xilinx-linux-gnueabi --enable-shared
make
make install
(3)libpng-1.5.14
libpng编译时需要zlib库的内容,所以需要LDFLAGS以及CFLAGS变量声明。
tar -xzvf libpng-1.5.14.tar.gz
cd libpng-1.5.14
./configure --prefix=$ZYNQ_CV_BUILD --host=arm-xilinx-linux-gnueabi
--with-pkgconfigdir=$ZYNQ_CV_BUILD/lib/pkgconfig LDFLAGS=-L$ZYNQ_CV_BUILD/lib
CFLAGS=-I$ZYNQ_CV_INSTALL/include
make
make install
(4)x264-snapshot-20120528-2245-stable
tar -xjvf x264-snapshot-20120528-2245-stable.tar.bz2
cd x264-snapshot-20120528-2245-stable
./configure --host=arm-linux --cross-prefix=arm-xilinx-linux-gnueabi- --enable-shared --prefix=$ZYNQ_CV_BUILD
make
make install
(5)xvidcore-1.3.2
注意此处一定要禁止汇编。
tar -xzvf xvidcore-1.3.2.tar.gz
cd xvidcore/build/generic // 注意该依赖库configure在build/generic/目录下
./configure --prefix=$ZYNQ_CV_BUILD --host=arm-xilinx-linux-gnueabi --disable-assembly
make
make install
(6)tiff-4.0.3
同理,需要添加zlib支持,因此需要声明LDFLAGS和CFLAGS变量。
tar -xzvf tiff-4.0.3.tar.gz
cd tiff-4.0.3
./configure --prefix=$ZYNQ_CV_BUILD --host=arm-xilinx-linux-gnueabi --enable-shared
LDFLAGS=-L$ZYNQ_CV_BUILD/lib CFLAGS=-I$ZYNQ_CV_BUILD/include
make
make install
(7)ffmpeg-0.10.3
ffmpeg的配置选项较多,需要添加cflas和ldflags声明。
tar -xjvf ffmpeg-0.10.3.tar.bz2
cd fmpeg-0.10.3
./configure --prefix=$ZYNQ_CV_BUILD --enable-shared --disable-static --enable-gpl --enable-cross-compile --arch=arm
--disable-stripping --target-os=linux --enable-libx264 --enable-libxvid --cc=arm-xilinx-linux-gnueabi-gcc --enable-swscale
--extra-cflags=-I$ZYNQ_CV_BUILD/include --extra-ldflags=-L$ZYNQ_CV_BUILD/lib --disable-asm
make
make install
3. OpenCV2.4.3交叉编译过程