基于Zybo板的网络视频监控系统设计与实现(四、嵌入式QT环境配置)

前言

Qt是一个跨平台的C++图形用户界面应用程序框架,它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt是完全面向对象的,很容易扩展并且允许真正地组件编程。Qt的嵌入式开发,一般分为PC版、嵌入式x86版和ARM3个版本,开发人员先在PC环境下完成程序设计,这样比较方便调试和修改。然后用交叉编译器重新编译程序,将可执行程序和Qt的ARM版本库复制到ARM开发板里执行即可。

Qt的PC版本完整安装包括Qt Creator、lib和designer等,这些被打包为QT SDK,可以在官网上下载安装包,下载网址为http://qt-project.org/downloads,将下载的文件属性改为可执行后就可以安装运行了。

Qt的PC安装

因为后面需要开发Android,所以需要Qt5.2以上的版本,可以从官网上下载安装包(http://qt-project.org/downloads)。这里我下载了5.6版本:qt-opensource-linux-x64-android-5.6.1.run。具体安装过程如下。

点击安装包直接运行,如果不能够直接运行参考下面步骤:打开安装包所在目录,授权后运行:


运行后界面如下

点击下一步

点击skip,继续下一步,选择安装路径(不要选择home目录下,因为home内存可能不够)

下一步选择安装组件,默认就好。

下一步同意安装协议,然后进行安装。

  1. Qt的PC程序测试

为了进行Qt的PC程序测试,新建工作目录/home/Zybo/qt_example,命令如下:

mkdir /home/Zybo
cd /home/Zybo
mkdir /home/Zybo/qt_example

打开Qt的工作界面如下图所示:

创建新的Qt工程,选择Qt Widgets Application。

设置类名为Helloworld,勾选创建页面。

创建完成后的页面如下:

进入界面文件helloworld.ui,添加一个Push Button,并修改text为Hello World。

保存文件,编译、运行后的结果:

目标机Qt环境构建

嵌入式Qt可以到其官网下载,网址为http://qt-project.org/downloads。下载完成后的文件名为qt-everywhere-opensource-src-4.8.5.tar.gz。

cd /home/Zybo
tar xvzf qt-everywhere-opensource-src-4.8.5.tar.gz

 

将qt-everywhere-opensource-src-4.8.5.tar.gz复制到/home/Zybo目录下,进入此目录,解压文件:

解压完成后会有一个qt-everywhere-opensource-src-4.8.5文件夹,嵌入式Qt源码就在该文件夹下进行配置,首先要修改配置文件,打开qt-everywhere-opensource-src-4.8.5/mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf文件,将arm-none-linux-gnueabi-全部修改为arm-linux-gnueabihf-,修改后的代码如下:

为了防止出现某些指令找不到的错误,例如no such instruction SWPB等指令错误,将qt-everywhere-opensource-src-4.8.5/mkspecs/common/g++-unix.conf进行修改,将编译优化设置为0.注意-O0第一个是字母,第二个是数字。修改后的代码如下:

配置修改完成后可以进行配置了,进入qt-everywhere-opensource-src-4.8.5.tar目录下,配置命令如下:

配置完成后,进行编译

make

make install

这个过程大概需要1~2个小时,具体看电脑的配置。文件会被安装在/usr/local/Trolltech/QtEmbedded-4.8.5-arm目录下。

配置ARM下QtCreator

在之前我们已经在主机上配置好了QT环境,为了使其既能在PC上编译Qt程序,也能编译ARM下的程序,需要对QtCreator进行配置。

在下图所示的Qt界面中,选择Tools—>Options命令,打开Build&Run选项。选择Compilers,添加GCC编译器,命名为GCC(/usr/local/ARM-toolchain/bin),路径为/usr/local/ARM-toolchain/bin,应用。

切换到Qt Version选项,点击添加,选择路径为/usr/local/Trolltech/QtEmbedded-4.8.5-arm/bin/qmake,点击应用。

 

切换到Kits选项,点击添加,名称为QtEmbedded-4.8.5-arm,设备类型选择Android Device,编译器选择GCC(/usr/local/ARM-toolchain/bin),Qt Vision选择Qt 4.8.5(QtEmbedded-4.8.5-arm),点击应用。

完成上面配置后,打开之前的Helloworld工程,在项目界面中,点击添加构建套件,选择QtEmbedded-4.8.5-arm。然后点击Debug按钮,构建套件选择QtEmbedded-4.8.5-arm,构建选择Debug。编译,这时系统会在工作目录下生成build-Helloworld-QtEmbedded_4_8_5_arm-Debug文件夹,文件夹中有可执行的Helloworld程序。

Qt的ARM程序测试

将可执行的Helloworld程序复制到之前做好的SD卡/home/目录下,插入SD卡,启动

cd /home

./Helloworld -qws

Zybo板,通过putty打开home目录输入:

在显示器上会弹出Qt应用的运行界面,如下图所示:

猜你喜欢

转载自blog.csdn.net/Qyy_nice/article/details/81747772