Esion

zedboard的QT移植与测试

0
阅读(4550)

ubuntu建议在root权限下进行一下操作。


1、从QT官网下载QT(包含QTCreator)

http://www.qt.io/download-open-source/#section-2

下载下来的是.run文件,可以直接在ubuntu中双击打开界面安装到一个目录下即可。

2、下载QT源码

http://download.qt.io/archive/qt/

我下载的是4.8.1

3、交叉编译QT源码

新建两个文件夹(自己随便建立的目录) /home/esion/zed/qt/build  /home/esion/zed/qt/install ,然后输入

gedit /etc/bash.bashrc
在该文件中设置如下几个环境变量,方便操作:
export ZYNQ_QT_BUILD=/home/esion/zed/qt/build
export ZYNQ_QT_INSTALL=/home/esion/zed/qt/install
export PATH=$ZYNQ_QT_INSTALL/bin:$PATH

保存退出,然后输入:

source /etc/bash.bashrc
即可立即生效环境变量。
接下来将源码包复制到build文件夹下面,并且解压。然后将我上传的附件中的qmake.conf配置文件复制到qt-everywhere-opensource-src-4.8.1/mkspecs/qws/linux-arm-gnueabi-g++目录下,这个文件用来告知QMake应该用哪个编译器来编译QT工程。

后回到qt-everywhere-opensource-src-4.8.1这个目录,该目录下有个configure文件,接下来就是对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
至此,在qt-everywhere-opensource-src-4.8.1/install文件夹下面,就是安装的文件了。

4、制作QT库的镜像文件

在制作镜像之前,先拷贝一些库到qt交叉编译库里:

cp /root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/arm-xilinx-linux-gnueabi/libc/usr/lib/libstdc++.so* $ZYNQ_QT_INSTALL/lib

然后在一个指定目录下制作一个100M的镜像文件,如下:

cd $ZYNQ_QT_BUILD
dd if=/dev/zero of=qt_lib.img bs=1M count=100
mkfs.ext4 -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就是qt的库文件。

 至此qt移植成功了。

4、测试

新建一个QTCreator工程,然后在终端下进入到该工程目录下,输入如下命令:

qmake –project
qmake
make

即可生成zedboard板上的可执行文件,其中qmake -project是生成新的QT的.pro工程文件,qmake是生成Makefile文件,make则是执行Makefile生成可执行文件。

接下来将qt_lib.img文件和可执行文件helloworld(helloworld在附件中)一起拷贝到SD卡中,然后zedboard上电,在zedboard上面建立和ubuntu上一样的/home/esion/zed/qt/install目录(目录要使用mkdir一级一级往下建),然后挂载SD卡

mount /dev/mmcblk0p1 /mnt/


然后挂载SD卡中的qt_lib.img镜像文件到上述目录中,如下:


mount /mnt/qt_lib.img /home/esion/zed/qt/install
接下来进入/mnt目录,然后输入



./helloworld  -qws
(zedboard接好鼠标和HDMI显示屏)使用鼠标点击屏幕出现的按钮,即可,如下:


  附件:(包含qmake.conf和helloworld)

QT_Test.rar