https://doc.qt.io/QtMQTT/qtmqtt-examples.html
下载文件后编译提示如下错误
:-1: error: Unknown module(s) in QT: mqtt
参考如下2个文件,发现还得先编译库文件
【Qt官方MQTT库的使用,附一个MqttClient例子】 - 叶小鹏 - 博客园
Unknown module(s) in QT: mqtt_whotomcom的博客-优快云博客
下载5.14,GitHub - qt/qtmqtt at 5.14
打开qtmqtt-5.14/qtmqtt.pro,(与qt版本一致)
编译过程报错
qtmqtt-5.14/src/mqtt/qmqttauthenticationproperties.h:33:10: fatal error: QtMqtt/qmqttglobal.h: No such file or directory
#include <QtMqtt/qmqttglobal.h>
直接改成
#include <qmqttglobal.h>
或采用上面博客的方法--在Qt安裝路徑的頭文件目錄下,新建QtMqtt目錄,將對應文件放入,重新編譯即可得到庫。
库可以生成了
但是examples下的工程编译出错,如何编译?
C:\Qt\Qt5.14.1\5.14.1\Src\qtmqtt\examples\mqtt\simpleclient\mainwindow.h:55: error: QMqttClient: No such file or directory
#include <QMqttClient>
^~~~~~~~~~~~~
qt 5.14.1 mqtt正常编译分享_m0_46577050的博客-优快云博客
给出答案
拷贝lib目录的内容到这里
拷贝bin目录你内容到这里
拷贝mkspecs目录你内容到这里
include目录移到这里
还是这个问题
C:\Qt\Qt5.14.1\5.14.1\Src\qtmqtt\examples\mqtt\simpleclient\mainwindow.h:55: error: QMqttClient: No such file or directory
#include <QMqttClient>
^~~~~~~~~~~~~
mqtt的库调用,优快云上乱七八糟,很多都是老版本的我没有用老版本验证过,反正5.14.1 是编译不过的,下面把调用的写一下。调用的方式并不是网上的写法,而是#include <qmqtt.h>。
按这样给也不对,索性按目录下有.h文件,
改成
//#include <QtMqtt/QMqttClient> #include <QtMqtt/qmqttclient.h>
终于成了!
qmqttclient_p.h应该更全面些。
补充一下测试记录
mosquito 和QTMQTT测试记录_weichushun的专栏-优快云博客
参考这个再补充icon图标
QT 设置应用程序图标和可执行程序图标_liuguangzhou123的专栏-优快云博客
OTHER_FILES += myapp.rc RC_FILE += myapp.rc setWindowTitle(tr("SimpleMqttClient")); setWindowIcon(QIcon(":img/myappico.ico"));
ok