基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结
make
make install
OpenCV-2.4.3的交叉编译全部结束,明天继续镜像制作以及Qt的交叉编译。
Qt的移植与安装
很喜欢Qt这个库以及Qt creater这个IDE,其实个人觉得还蛮好用,因为现在基本都是在用瞪眼儿法找错误。
尤其喜欢Qt里面槽和信号的机制,感觉这个机制特别魔幻,特别方便,上个学年一整年的课程设计都是用Qt做的。
言归正传,先说一下,如何在Linux下安装Qt。
(一)Linux下Qt以及Qt creater的安装与使用
解压qt-everywhere-opensource-src-4.8.5.tar.gz到任意文件夹内
tar -xzvf qt-everywhere-opensource-src-4.8.5.tar.gz
cd qt-everywhere-opensource-src-4.8.5.tar
配置并指定编译安装目录/opt/qt-4.8.4
./configure -prefix /opt/qt-4.8.4
配置过程中出现如下提示,选择o回车,继续出现提示,
输入yes回车,接下来生成Makefile文件。
然后,执行make以及make install。编译过程我个人花了将近四个小时,
此时间很长。完成后添加环境变量。
gedit /etc/bash.bashrc
添加如下内容
export PATH=/opt/qt-4.8.4/bin:$PATH
export QTDIR=/opt/qt-4.8.4
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
保存好后,输入source /etc/bash.bashrc使添加的环境变量生效。
接下来安装Qt-creater。进入文件夹,输入如下命令:
chmod 777 qt-creator-linux-x86-opensource-2.7.0.bin
sudo ./qt-creator-linux-x86-opensource-2.6.1.bin
接下来进入安装界面,设置安装目录以及Qt库位置,安装完成后即可使用。
(二)交叉编译Qt库及镜像制作
此部分内容可参考官方wiki+Qt+and+Qwt+Base+Libraries-Build+Instructions
先建立几个环境变量,输入如下命令:
export ZYNQ_QT_BUILD=/opt/qt-arm/build
export ZYNQ_QT_INSTALL=/opt/qt-arm/install
export PATH=$ZYNQ_QT_INSTALL/bin:$PATH
在opt内建立相应目录
cd /opt
mkdir qt-arm
cd qt-arm
mkdir build install
进入qt-everywhere-opensource-src-4.8.5.tar.gz文件夹内,解压文件到ZYNQ_QT_BUILD目录内
tar -xzvf qt-everywhere-opensource-src-4.8.5.tar.gz -C $ZYNQ_QT_BUILD
解压qt_build_src.tar文件,里面有我们需要的配置文件qmake.conf,该文件由Xilinx官方提供,命令如下:
tar xvf qt_build_src.tar
cp ./qmake.conf $ZYNQ_QT_BUILD/qt-everywhere-opensource-src-4.8.5/mkspecs/qws/linux-arm-gnueabi-g++/
因为该配置文件基于Qt4.7,为编译Qt4.8,需要修改文件内容。
gedit $ZYNQ_QT_BUILD/qt-everywhere-opensource-src-4.8.5/mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf
源文件内容如图所示:
将前三行替换为
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)
修改后文件内容如图所示:
然后对Qt进行配置
./configure -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -little-endian -opensource -host-little-endian
-confirm-license -nomake demos -nomake examples -prefix $ZYNQ_QT_INSTALL
配置完成后make以及make install。
之后将Xilinx交叉编译库中的内容复制到Qt库中,输入命令:
cp -P /root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/libc/usr/lib/libstdc++.so* $ZYNQ_QT_INSTALL/lib
安装好Qt库后,需要为Zedboard制作镜像。
cd $ZYNQ_QT_BUILD
dd if=/dev/zero of=qt_lib.img bs=1M count=90 // qt-4.8.5需要90M大小作为镜像大小,根据需要可以改变count
mkfs.ext2 -F qt_lib.img
chmod go+w qt_lib.img
mount qt_lib.img -o loop /mnt
cp -rf $ZYNQ_QT_INSTALL/* /mnt
chmod go-w qt_lib.img
umount /mnt
这个qt_lib.img就是我们所需的运行库了。
- Zynq-7000系列SoC器件及可编程逻辑完整解决方案(09-18)
- 全新升级款Zybo Zynq-7000 APSoC开发板应用(09-18)
- Xilinx多协议机器视觉摄像机参考设计(12-01)
- 人工智能实现的流派 FPGA vs. ASIC看好谁?(08-27)
- 采用Xilinx Zynq SoC实现眼动追踪技术 让眼睛也可以控制计算机(06-28)
- EyeTech视线跟踪技术如何成为主流?(06-28)