安装服务器
配置安装看ubuntu安装MQTT服务器 + windows安装MQTT客户端,主要是三个安装命令:1
2
3
4
5
6#安装服务端
sudo apt-get install mosquitto
#安装客户端 (订阅sub 与 发布pub)
sudo apt-get install mosqutitto-client
#安装调试器
sudo apt-get install mosquitto-dbg
- 订阅话题test: mosquitto_sub -t test
- 发布消息到话题test: mosquitto_pub -t test -m “hello world”
编译Qt库QtMqtt
Qt现在支持MQTT了, 但是很坑的是还需要自己编译,我用的是Qt5.14,从网上找了好几个版本都编译出问题,看了不知道多少博客,最后终于编译成功了。
从Github官方仓库下载5.14.0,解压到F:\MyCpp\qtmqtt-5.14.0
,打开后编译,结果会报错,这是因为头文件的问题。在qtmqtt-5.14.0\src\mqtt\mqtt.pro
中添加一行 INCLUDEPATH += F:\MyCpp\qtmqtt-5.14.0 ,然后qmake, 编译。应该就成功了。
新建的测试程序MQTT_Client
,然后将qtmqtt-5.14.0\src\mqtt
文件夹中的所有头文件放到一个文件夹QtMqtt
,然后放到程序的根目录。到编译生成的文件夹,将lib
和include
文件夹也放到MQTT_Client
根目录,其中的文件Qt5Mqtt.dll.debug可以删除。
编辑MQTT_Client.pro
,添加下面内容:1
2
3
4
5INCLUDEPATH += $$PWD
DEPENDPATH += $$PWD/include
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/lib/ -lQt5Mqtt
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/lib/ -lQt5Mqtt
现在程序就可以用QtMqtt了,但是最好能让mqtt跟Qt自身库一样使用,也就是在pro文件中添加QT += mqtt
即可,这样才叫优雅。参考如何让第三方库和Qt自身库一样使用