QT搭建MQTT开发环境
第一步、明确安装的QT版本
注意: 从QT5.15.0版本开始,官方不再提供离线版安装包,除非你充钱买商业版。
而在这里我使用的QT版本为5.15.2,在线安装了好久才弄好,还是建议使用离线安装的版本
在这里可以直接从国内的QT源下载:qt-opensource-windows-x86-5.14.2.exe
网盘链接(永久有效):qt-opensource-windows-x86-5.14.2.exe
链接使用的是阿里云的镜像源,点击就可以下载,注意在安装的时候需要准备好QT的账号,这里随便用一个邮箱注册就好,要不然没有办法安装(官方注册链接)
第二步、下载官方的QT MQTT源码
在这里给出两个下载途径:
一、GitHub:qtmqtt
二、GitCode:qtmqtt
GitCode是从GitHub上同步的源码,如果在GitHub上Clone不下就还是从国内的同步源下载
三、切换项目分支
在前期准备的时候也是一直找不到他们对应结构下文件,去看一下对应的版本才发现,QT官方对不同版本的QT有着不同的对应版本的项目工程,这才是导致你一直没有办法找到对应文件的问题所在(超级大坑)
查询所有分支
git branch -a
切换到自己QT对应版本的分支
git switch -c origin/5.15.2
这里你就可以看到目录下的文件就会有些不同,qtmqtt.pro就会出现在更目录下,然后点击打开项目即可
注意:如果想要省略切换分支这一步,就要在克隆源码上添加命令
例如
git clone -b 5.15.2 https://github.com/qt/qtmqtt.git
中间的参数为QT的版本号,这里先在网页里找到对应的分支再进行操作
四、编译项目源码
打开根目录下的项目工程
这里根据自己的项目需求和习惯来进行选择
这里打开后会自动加载一系列文件,还会有报错,这里忽略这些错误
这里切换Release版本编译
执行qmake
这里编译需要一段时间
编译完成
构建项目
构建完成
五、移植项目工程文件
由于在这里尝试过很多次的将文件移植到编译工程中,但是一直都没有成功,这里采用工程项目移植的方式确保工程项目能稳定运行编译
先创建一个空项目,切换到对应的分支然后编译运行一下
确保对应目录下有对应的文件
移植文件到项目文件夹
将include文件夹复制到克隆源码目录下的src/mqtt
然后将源码目录下src文件夹下的mqtt文件夹复制到工程的根目录下
在这里我们就完成了初步的文件移植的工作
六、项目的配置
添加网络模块
QT += network
添加目录索引(这里添加时为了在写代码的时候有提示,如果不添加编译也不会报错)
INCLUDEPATH += $$PWD/include
DEPENDPATH += $$PWD/include
添加外部库
点击下一步完成就好,这里就会自动添加其对应路径,到这里初步的项目的编译环境就配置完成了
七、复制官方的示例进行测试
simpleclient源码测试
将这四个文件复制替换
打开项目文件,在mianwindow.h中修改头文件引用
刚开始的时候出现索引不到UI控件,这里先清除一下,然后删除编译输出文件
点击运行,就可以成功运行例程
运行成功,完结撒花!