【原创】MQTT开发笔记(二)QtMqtt编译及使用

一、下载源码

        目前主流的QtMqtt库有两个,一个是Qt官方的,另一个是EMQ的,本文介绍第一种。由于我使用的Qt5.14.2,官方QtMqtt源码的6.0版本需要Qt6支持,因此我只能选择5.12.12版本的。

Qt官方QtMqtt在Gitee上的镜像Jamie/qtmqtt - Gitee.com

二、编译

1. 在Qt安装目录的运行库include文件夹下新建“QtMqtt”文件夹,如下图:

        

2. 打开QtMqtt5.12.12源码的src\mqtt文件夹,将所有.h文件拷贝到刚才新建的“QtMqtt”目录下。

 

3. 打开项目,取消Shadow build的勾选,编译整个项目。

 三、部署

1. 将lib目录下编译好的Qt5Mqtt.lib和Qt5Mqttd.lib拷贝到Qt安装目录下工具链的lib目录下

2. 将bin目录下编译好的Qt5Mqtt.dll和Qt5Mqttd.dll拷贝到Qt安装目录下工具链的bin目录下

3. 将mkspecs\modules-inst目录下的两个.pri文件拷贝到Qt安装目录下工具链的mkspecs\modules目录下。

 

四、运行实例

1. 只打开一个实例比较便于编译排故,找到simpleclient工程的文件夹,将其拷贝到其他位置,然后打开,否则会由于工程链接问题而报错。 

2. 去掉Shadow build的勾选并编译。

 

3. 出现以下故障的话,将原来的 

            #include <QMqttClient> 等不带.h的头文件替换成.h文件,即   

            #include <QtMqtt/qmqttclient.h>

 

4. 编译运行成功

5. 连接服务器

            如果你不会搭建Mqtt中断服务器还想运行实例,那就使用免费的测试中断服务器:

国内测试站点

服务器地址 服务器类型 开发 端口 Websocket
test.jmqtt.io JMQTT java开放源码 1883 8000

注意:国内的test.jmqtt.io不是很稳定,有时无法连接,建议使用下面得到国外站点。

国外可用的站点:

服务器地址 服务器类型 开发 端口 Websocket
iot.eclipse.org Mosquitto c语言开放源码 1883 / 8883 -
broker.hivemq.com HiveMQ java商业授权 1883 / 8883 8000
test.mosquitto.org Mosquitto jc语言 开放源码 1883 / 8883 / 8884 8080 / 8001
test.mosca.io mosca js 开放源码不利于维护 1883 80
broker.mqttdashboard.com HiveMQ 商业服务 1883 -

猜你喜欢

转载自blog.csdn.net/jam12315/article/details/126278625