Qt跨平台开发日记一:安装软件
这不是一个经验丰富的开发者写的文章,而是小白在做项目时的开发日记,甚至很多技术选择还不明确,项目还没完成,不知道是否能成功。
对于Qt项目开发,网上有流传一个免费视频教程,自称国内做Qt的80%都是他的学生;另外有本Qt安卓开发的图片也写得比较好。
项目是工业控制方面的,用Qt给ARM板子(TI AM335X芯片, Arm Cortex-A8架构)写个程序。
软件列表
序号 | 名称 |
---|---|
1 | Qt Creator |
2 | Visual Studio 2019 |
3 | Qt Visual Studio Tools |
4 | QssStylesheetEditor |
5 | qt-opensource-windows-x86-5.14.2.exe |
Qt版本的选择
TI AM335X的板子,ROM通常都是256M或512M大小,因此要考虑Qt库的大小。对于Qt4.8.6版本所说最小可以做到80M多点,但是Qt4.8.6是没有内置串口通信模块,也没有虚拟键盘模块,这二个模块需要另外找其它库。
国内AM335X核芯板提供的交叉编译环境是Qt5.6版本,Qt5.6是内置了串口通信模块,但虚拟键盘模块要Qt5.8之后的版本才支持。因此,如果想用Qt内置模块实现全部功能,Qt版本就应大于Qt5.8。
目前Qt6也推出了几个小版本了,实际开发用Qt5的似乎比较多,Qt5的小版本有的并不是长期支持版本,比如Qt5.8就不是长期支持版本。因此,Qt版本的选择应考虑是否是长期支持版本,以及是否内置了需要的模块。另外Qt安卓开发都不支持串口通信。
Qt的安装
要安装Qt,先到Qt网站注册个账号,这个并不麻烦。要安装Qt开发环境,有三种方式,由易到难分别如下:
- 在线安装
- 离线安装
- 源码编译安装
在线安装并不适合国内的网络环境,速度慢容易断网,装了几天都失败了。源码编译安装是比较推荐的方式,无奈水平有限时间紧经费少,找了一堆理由否定了,以后退休了再来折腾吧。
Qt国内镜像下载:
点击上面任意一个Qt国内镜像,进去后找到目录:official_releases/qt/5.12/5.12.9/根据自己的操作系统下载安装包。这里要注意,不要选Qt5.12.9之后的版本,似乎后面的版本不提供预编译的安装包了。没关系,先安装好后,再在线升级就可以了。
安装完成后,在安装目录下运行MaintenanceTool.exe在线升级或增加新版本,运行MaintenanceTool.exe后,左下角有个设置按钮,在打开的界面添加临时存储库。
系统 | 存储库网址 |
---|---|
Window | https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/ |
Linux | https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/linux_x64/ |
Mac | https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/mac_x64/ |
注意不要搞错操作系统了,否则要重新安装。不清楚可以在搜索引擎输入“QT更新存储库”回车就能找到详细说明。
添加好更新存储库网址后,就可以在线更新了,也可以安装在线安装其他版本,此时使用的是国内镜像,速度还是可以的。
假如上面是在Windows操作系统上安装了Qt开发环境,对于嵌入式开发,需要在Linux操作系统进行交叉编译,还需要在Linux下按上面的步骤安装。
到这里,在Windows操作系统的机器上就可以先进行开发了,同样的代码(理想状态下)到时在Linux操作系统上编译就可以在Linux上运行了,当然一般会出点小问题,后面再说。
对了,可以开始用Qt开发了。打开QtCreator,随便打开个例子项目,按F5就应该可以运行了。似乎少了点什么,点开号称宇宙第一IDE的微软Visual Studio 2019。可以用VisualStudio2019开发Qt吗?当然是可以的。如果没有安装Visual Studio 2019,下载安装,同时要安装C++工作负载。然后浏览器打开https://mirrors.tuna.tsinghua.edu.cn/qt/archive/vsaddin/2.7.1/下载VS2019插件Qt Visual Studio Tools并安装。也可以在VS2019中在线安装,有时在线安装会一直不能下载。应该是网络问题,在上面的国内镜像站下载也是一样的。
也许是强迫症的原因,我同时在Windows 10/Ubuntu 20 这二个操作系统中开发,也经常在Qt Creator 和 Visual Studio 2019 之间来回切换,不同的操作系统,不同的IDE,就容易引发下面地二个问题:
- 中文乱码(源码注释乱码,界面显示乱码,调试输出乱码)
- 界面显示风格不同,样式和颜色不同。
在跨平台开发中,上面二个问题应该是比较常见的,后面再说。