iMX287A嵌入式Qt环境搭建
whik 人气:0
@[toc]
### 1.嵌入式Qt简介
Qt 是一个跨平台的应用程序开发框架。使用Qt开发的应用程序,只需要编写一套代码,然后把这套代码放在不同平台的Qt环境去编译,就会生成可以运行在对应平台的应用程序。例如,我在Windows写了一个串口助手,这套代码不用修改,放在Linux环境下的Qt开发环境,重新编译,就可以生成可以在Linux环境下运行的串口助手,当然,Qt支持的环境有很多。不同平台下的移植,只需要修改很小一部分或者不用修改就可以直接运行。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200304173222963.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doaWsxMTk0,size_16,color_FFFFFF,t_70)
嵌入式Qt,即QtE,属于Qt Embedded Linux 分支平台。Qt/E 所面对的硬件平台较多,当开发人员需要在某硬件平台上移植 Qt/E 时,需要下载Qt 源代码,利用交叉编译器编译出 Qt 库。接着需要将 Qt 库复制两份,一份放置在开发主机上,供编译使用;一份放在目标板上,供运行时动态加载使用。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200304172256460.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doaWsxMTk0,size_16,color_FFFFFF,t_70)
### 2.查看开发板Qt库的版本
要想在开发板上运行Qt程序,首先板子上要有Qt的库,而且要确定这个的库的版本。那么怎么看
开发板上的Qt库是Qt-4.7.3版本的。可以使用`find`搜索命令,搜索本地所有Qt相关的文件:
```shell
#进入到根目录
cd /
#搜索qt相关的文件
find -name "*Qt*"
#或者
find -name "*qt*"
```
如果搜索结果有很多so类型的文件,说明这个开发板上的系统是支持Qt的,而且后面的数字就是当前Qt库的版本号。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200304181835297.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doaWsxMTk0,size_16,color_FFFFFF,t_70)
可以看出,iMX287A开发板支持Qt,库的版本是4.7.3。
### 3.第一个嵌入式Qt程序——Hello World
又是"Hello World",无论学习什么东西,都要先来个"Hello World",当然Qt也不例外。
#### 3.1 主机搭建嵌入式Qt环境
搭建一个最基本的Qt环境,需要两个东西:**qmake和编译器**。编译器用的是交叉编译器,我们在第一节的教程中,已经介绍了,并且已经把交叉编译器的路径添加到了环境变量。下面我们就来安装用来开发嵌入式程序的qmake。
qmake包工具在光盘的位置:`3、Linux\2、工具软件\Linux 工具软件\qt4.7.3.tar.bz2`
```shell
#进入到opt目录
cd /opt
#解压qmake套件,Qt-4.7.3.tar.bz2
sudo tar -jxvf qt4.7.3.tar.bz2
#添加到用户环境变量
sudo vim ~/.bashrc
#文件末尾添加一行,$PATH放在后面,表示路径添加在环境变量最前面
export PATH=/opt/qt4.7.3/bin/:$PATH
#使设置的环境变量生效
source ~/.bashrc
#查看当前的PATH路径
echo $PATH
#查看当前Qt版本
qmake -v
```
**如果本机有多个qmake,那么一定要把嵌入式qmake路径添加到环境变量最前面,否则不能识别**
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020030418552414.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doaWsxMTk0,size_16,color_FFFFFF,t_70)
如果输出了Qt的版本,并且所在路径是我们设置的,说明Qt环境搭建成功。
#### 3.2 编写Hello World源程序
我们来编写一个简单的界面,程序只显示一个标签,标签的内容是“Hello World”。在PC上交叉编译之后,把可执行文件传输到开发板上运行。
```shell
#新建一个文件夹存放qt工程
mkdir hello_qt
#新建cpp文件
touch hello_qt.cpp
#编辑hello_qt文件
vim hello_qt.cpp
```
hello_qt.cpp文件的内容:
```cpp
//Qt图形库
#include
加载全部内容