介绍
基于做毕业设计的需要,实现QT与STM32的通信,采用QT+MQTT模拟为一个设备实现和STM32的通信。如果有类似需求的可以关注:(28条消息) DS小龙哥的博客_CSDN博客-QT(C++)应用软件开发,QT5软件开发实战系列教程,Linux系统编程与驱动开发领域博主
MQTT官方库
QT官方将MQTT库公布在github上:GitHub - qt/qtmqtt: Qt Module to implement MQTT protocol version 3.1 and 3.1.1 http://mqtt.org/
注意:版本选择和自己安装的版本对应的就行了。至于版本不对应有没有影响,emm没试过....下载后就可以使用了!dev版本和部分其他版本不是pro版本的,对于不会使用CMake的小伙伴看一下文件是否包含pro文件。
2.1编译MQTT库
双击pro文件打开即可:
选择release然后编译即可:
2.1.1编译可能遇到的问题:
1,首先可能会遇到什么缺少perl:perl不是内部/外部命令。那么就安装perl软件即可
放百度网盘了自提:
链接:https://pan.baidu.com/s/1a8cY65YDIZAqrDs8hW5-pw
提取码:1234
安装软件,跟着步骤来就可以了,安装的时候要费点时间。
2,第二种问题:fatal error: QtMqtt/qmqttglobal.h: No such file or directory
解决办法:找到你QT的安装目录:
我的QT是5.14.2版本的,我用的mingw32编译的就在mingw32下,找到include目录
在这个目录下添加QtMqtt新文件夹,将你下载的MQTT下的src/mqtt下所有的头文件复制到QtMqtt新文件夹下。即可解决
2.2编译成功后,添加外部库
首先新建一个项目MQTT_TEST,在项目文件中添加lib、include两个文件夹:
将编译成功后的build文件夹内的lib/下的文件复制到项目文件MQTT_TEST下的lib文件夹内:
将src/mqtt下的所有头文件添加到MQTT_TEST下的include文件夹内:
后面的操作按照以下图片的步骤来就行了:
打开MQTT_TEST项目:添加外部库
库文件为MQTT_TEST/lib文件夹下的.a文件,包含路径就是MQTT_TEST/include文件,按照如图所示点击下一步、完成:
自动生成了②框代码,记得手动添加①框network库: