下载
github下载地址:https://github.com/qt/qtmqtt。注意一下这里面Qt 6版本好像没有提供pro文件,只能用CMake编译咯。我使用的Qt版本是5.12.9。我也下载的也是5.12.9的。先点击这个分支:
在这个搜索框里面搜索5.12.9的版本:
然后把这个源码拉下来或者直接下载都可以。
编译
下载完源码后,解压得到以下文件,打开qtmqtt.pro文件,选择minGW64位和release方式进行编译。
打开工程之后,如下图所示,然后qmake 编译构建一下。
在编译过程中,报了一个错!
这个错误的原因是编译器在按照你的Qt安装目录下去搜索这个头文件,但是这个头文件并不在安装目录下,解决方法如下:
在Qt安装目录下(比如我的安装目录为:D:\Qt\path\5.12.9\mingw73_64\include)新建一个QtMqtt的文件夹,文件夹名字随意。
然后将解压好的源码中的src/mqtt下的所有头文件拷贝到刚才新建的QtMqtt目录下:
拷贝完成后的文件夹内容如下:
然后重新进行编译,编译成功。
部署
编译出来的Qt Mqtt库我们这里采用的方法是直接以模块化的方式部署到Qt的安装目录下,只需要搞一次,下次使用Qt Mqtt的时候就可以直接在qmake中 导入就可以了 。不需要每次都导入库。
- 拷贝lib文件
将编译生成的lib目录下面的六个文件进行拷贝
拷贝至Qt的安装目录下的lib目录下 - 拷贝dll文件
将编译生成的bin文件下面中的dll文件拷贝至Qt安装目录下面的bin文件下。 - 拷贝moudle文件
将编译生成的mkspecs目录下的modules下的pri文件拷贝至Qt安装目录下的mkspecs目录下的modules。
测试
目前为止我们该做的工作已经完成,现在可以测试一下。新建一个Qt工程,在qmake中导入mqtt,然后qmake一下:
导入头文件,如下:
到这里就说明部署成功了。