Qt官方MQTT库的使用

参考文档

https://www.cnblogs.com/yexiaopeng/p/8542894.html
https://blog.csdn.net/weixin_42810844/article/details/84935467

前言

mqtt官方库不在Qt中,而是需要另外下载源码然后编译生成库,至于源码网址我没有从官方网站找到,前辈们说了下面两个网址。
github地址:

https://github.com/emqtt/qmqtt
https://github.com/qt/qtmqtt

我使用的是下面这个,据说是官方的:
在这里插入图片描述

step1 编译

下载后,打开最外层的qtmqtt.pro项目文件,构建中会包文件找不到,如 <QtMqtt/qmqttglobal.h>等文件,
主要原件是编译器是按照在Qt安装目录下搜索的,但我们文件是我们自己随意放的目录下的 src\mqtt 路径下。

因此,在Qt安裝路徑的頭文件目錄下,新建QtMqtt目錄,

C:\Qt\Qt5.11.3\5.11.3\mingw53_32\include\QtMqtt

将src/mqtt目录的所有头文件全部拷贝到QtMqtt目录下。

step2 精简有用的库文件

我们可以在项目工程目录下看到生成的库文件和头文件,但需要修改一些。
在这里插入图片描述
工程目录下的include文件夹不是真正的头文件,而是一些说明内容
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
打开include中任意头文件发现,这里都是执行源码中的同名文件的,这肯定不行,真正使用库的时候是没有源码只有库的,所以需要把include目录下所有的.h头文件都替换成源码目录中的同名文件。
这操作这是。。。制作库还能去引用依赖源码路径和内容?为啥不直接拷贝过来?还需要手动去拷贝下。

至此,lib、include就是我们需要的库文件所有的内容了。

step3 将库导入到工程

创建一个新工程,软件把mqtt库文件拷贝到新工程目录
在这里插入图片描述
将库文件添加到新工程中,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时该工程就可以使用mqtt库了。

另外还有一种模块化部署的说法
红胖子大侠说的很清楚

大概需要五个步骤:
1、将源码中的头文件挑出来,放到安装目录,注意是独立新建一个QtMqtt的文件夹

C:\Qt\Qt5.11.3\5.11.3\mingw53_32\include\QtMqtt

2、将库源码生成的的libD:\qt\test\build-qtmqtt-Desktop_Qt_5_11_3_MinGW_32bit-Release\lib目录下的文件全部拷到C:\Qt\Qt5.11.3\5.11.3\mingw53_32\lib

3、将动态库拷到bin目录拷到 C:\Qt\Qt5.11.3\5.11.3\mingw53_32\bin目录下
在这里插入图片描述
C:\Qt\Qt5.11.3\5.11.3\mingw53_32\bin
4、模块配置文件
在这里插入图片描述
上图文件拷贝到下图的位置。
在这里插入图片描述
5、头文件别名文件的创建,这个也是我比较困惑的地方,linux的.so库的路径引用、头文件别名也是自动生成的,这个成了手动的,不敢相信
在这里插入图片描述
在上图安装目录的头文件目录创建一个QtMqtt的文件,注意是没有后缀的,在在这个文件中写一句话,后面包含头文件就可以直接是包含这个文件而不用包含其他的文件。
在这里插入图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值