Windows下直接开发ARM QT应用程序——再也不用开虚拟机
话不多说,先来图直接看效果:
使用windows下的QT creator 创建测试工程
![](https://img.haomeiwen.com/i10944431/4563e795b5d9fd3e.png)
没有看错,是C盘目录,是windows下的目录。
![](https://img.haomeiwen.com/i10944431/297743beb292d0a4.png)
![](https://img.haomeiwen.com/i10944431/c744f3a98f353e1b.png)
![](https://img.haomeiwen.com/i10944431/9a8cb216ddcfc2b0.png)
![](https://img.haomeiwen.com/i10944431/24d1d4b5385eaf92.png)
因为QT Creator配置好了arm qt的编译环境和库。到这里就可以直接编译arm qt。可以将编译出来的程序拷贝到arm 板子上运行了。
![](https://img.haomeiwen.com/i10944431/78e5b8492a512e18.png)
好了,效果演示完毕了。
好了,接下来就说一下这个是怎么实现的吧。
先声明一点,此文并不是要教大家如何从qt4-source源码在windows下交叉编译并在windows下可以编译QT。
因为两点:
在windows下交叉编译qt4源码相当麻烦,相当麻烦。麻烦的我自己都想吐了。如果你是资深QT用户,也是可以进行技术探讨的。
其次,即便在你的电脑完成了对源码的交叉编译,那再换一台电脑呢,又怎么把你的环境拷贝到另一台电脑上呢。
快速在另一台电脑上,也能对arm qt进行开发,这才是关键。
此文介绍的就是后者。将已经交叉编译好的arm qt库以及开发环境部署到windows下,这样就可以实现在windows下开发和编译arm qt程序,再也不用打开虚拟机了。
一 文件准备:
1 windows下的arm-none-linux-linux-gcc的安装文件准备。
这里使用的是:
![](https://img.haomeiwen.com/i10944431/5fa93224402cae80.png)
文件说明:
arm-none-linux-gnueabi.exe是windows下可以支持arm交叉编译的安装包,安装之后,可实现arm-linux-gcc 编译c和c++程序。
此安装包可以网上下载。
qt4_build_arm_qt.zip 则是已经将qt4源码交叉编译好的库及windows下支持arm的qmake等工具集,是在windows下开发arm qt关键的库和工具。
该工具包目前只能通过成为相应的FLEXEM QT用户之后,联系相应的销售或者技术支持获取。因为使用第三方的QT屏,如果出现编译问题,不好支持或不好查找问题。
如果感兴趣,可以访问www.flexem.cn,相应你总能联系到。
2 准备好qt4_build_arm_qt.zip包。
下面以一台新的电脑为例:需要有D盘。因为arm qt库的编译,是在D盘下编译的,qmake已经指定了特定的环境和路径。
![](https://img.haomeiwen.com/i10944431/9866f37359e4b63c.png)
二 文件的部署和安装。
1 安装arm-2014.05-29-arm-none-linux-gnueabi.exe.
建议安装该文件请使用默认路径。
安装完成之后,在cmd里输入
![](https://img.haomeiwen.com/i10944431/78c9bd257952271e.png)
说明安装成功。(如果首次安装后输入没有反应,重启之后再次确认。)
2 解压qt4_build_for_arm_qt.zip到D:\ 目录(也就是直接解压到D盘)
![](https://img.haomeiwen.com/i10944431/cb7a87395af1fa14.png)
![](https://img.haomeiwen.com/i10944431/92a826ef3b87c5db.png)
![](https://img.haomeiwen.com/i10944431/ad440b9803821916.png)
目录文件结构如图,则说明文件解压完成。
三 运行环境变量设置。
![](https://img.haomeiwen.com/i10944431/154116b4407732f1.png)
如果设置环境变量失败,建议以管理员身份运行set_arm_qt4_evn.bat。
或者手动将环境编变量添加。
四安装qtcreator
如果电脑还没有安装qtcreator,需要先安装。
如果电脑已安装有qtcreator,则跳过此步骤。
![](https://img.haomeiwen.com/i10944431/f255e76295461be8.png)
![](https://img.haomeiwen.com/i10944431/b19a502964f83003.png)
![](https://img.haomeiwen.com/i10944431/5d15bffdad106769.png)
五 Qtcreator配置arm qt的编译环境
需要配置的项有:
1) 编译器。 主要是配置arm-none-linux-gnueabi-gcc和arm-none-linux-gnueabi-g++
2) Qt Versions。主要是配置qmake。
3) 构建套件Kit。主要是将前面的配置成套件,方便在新建工程的时候,可以直接选择相应的编译环境。
1 配置编译器
![](https://img.haomeiwen.com/i10944431/01cbac9cae76b9a7.png)
![](https://img.haomeiwen.com/i10944431/466b6e2ba568a101.png)
1.1 配置arm-none-linux-gnueabi-gcc
![](https://img.haomeiwen.com/i10944431/9cddf9f979799445.png)
![](https://img.haomeiwen.com/i10944431/df73afdb3a1af28f.png)
找到arm-none-linux-gnueabi-gcc.exe的目录。
默认为:
C:\Users\jack\MentorGraphics\Sourcery_CodeBench_Lite_for_ARM_GNU_Linux\bin
也就是
C:\Users\用户名\MentorGraphics\Sourcery_CodeBench_Lite_for_ARM_GNU_Linux\bin
![](https://img.haomeiwen.com/i10944431/04d19029fcb1a6b5.png)
点击Apply即可配置好arm-none-linux-gnueabi-gcc
1.2 配置arm-none-linux-gnueabi-g++
![](https://img.haomeiwen.com/i10944431/c0b4a9be607e8d9c.png)
![](https://img.haomeiwen.com/i10944431/6c19c3f9ea528dc8.png)
![](https://img.haomeiwen.com/i10944431/31159c67625c5686.png)
2配置QtVersion。
工具-> 选项。
![](https://img.haomeiwen.com/i10944431/d6e683614d08be79.png)
![](https://img.haomeiwen.com/i10944431/fbbe38b6f21cd54b.png)
构建和运行
![](https://img.haomeiwen.com/i10944431/5487397550d1371d.png)
Qt version ,点击添加
![](https://img.haomeiwen.com/i10944431/9e63386e013cddf4.png)
找到D:\qt4_build\arm_qt\bin ,选择qmake.exe。
![](https://img.haomeiwen.com/i10944431/6f253c22f0723dd3.png)
3 配置构建套件(Kit)
![](https://img.haomeiwen.com/i10944431/7aa93f40c09efa0d.png)
![](https://img.haomeiwen.com/i10944431/f80475b4c7f740de.png)
3.1关联编译器。
![](https://img.haomeiwen.com/i10944431/21b2022bfdc95a69.png)
这两个编译器为五-1中配置的编译器。
![](https://img.haomeiwen.com/i10944431/1a27469f7f1bd37f.png)
3.2 关联Qt版本。
![](https://img.haomeiwen.com/i10944431/f3f40172bdbfd88f.png)
该QT版本为五-2中配置QtVersion里的版本。
3.3 配置CMake(可选)
因为在windows下执行编译代码的时候,QTCreator默认调用的make命令,但是因为系统默认没有带make命令和rm命令。
所以在步骤三里,设置了环境变量,在D:\qt4_build\arm_qt\sbin 目录里,放了两个文件,并把这个目录加到环境变量里,这样系统就可以调用make和rm命令。
就能保证编译QT代码的顺利进行。
如果不想使用该命令,可以配置用户自己的cmake命令或者cs-make命令。
到此在windows下配置arm qt 开发顺利完成,尽情享用在windows下开发QT吧。
再也不用受虚拟机的烦恼了。
如果你能看到最后,说明你对QT的开发还是比较感兴趣的。
使用FLEXEM 的QT屏,据说已经有新的功能出来。
也就是提供了可以支持各种通信协议的SDK。
比如modbus,西门子, 三菱,欧姆等常见的PLC协议都作了封装,只需要调用SDK,就可以快速实现数据采集,不需要重新开发PLC通信协议。
如果你刚好有项目要使用QT,如果你的QT项目刚好需要有采集modbus,其它控制器PLC协议等,不妨可以试试SDK。