Linux平台下Qt5.6使用MQTT协议

一、下载源码

https://github.com/emqx/qmqtt

二、编译

  • 文件结构

Linux平台下Qt5.6使用MQTT协议_第1张图片

1、打开qmqtt.pro
2、选择项目,构建配置选择release,shadow build 去掉对勾。
3、编译
  • message.pro could not be parsed
  • qmaqtt.h No such file or directory

会遇到上述两个问题。但是最后结果测试通过。

三、拷贝源文件和库文件

  • 编译之后会生成两个文件夹 include和lib
  • 完成以下操作
1、新建工程mqttTest
2、把inculde同级目录中的src/mqtt中,然后把mqtt拷贝到新建工程mqttTest文件夹中
3、把lib拷贝到新建工程mqttTest文件夹中
4、在QtCreator中打开mqttTest.pro写入以下内容
      QT +=  network
      INCLUDEPATH +=$$PWD/mqtt
5、添加现有文件mqtt/qmqtt.h到工程中
6、添加库操作
   a、添加库
   b、外部库
   c、选择lib/libQt5Qmqtt.so
   d、添加
  测试会在mqttTest.pro看到增加以下内容
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/lib/release/ -lQt5Qmqtt
  
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/lib/debug/ -lQt5Qmqtt
else:unix: LIBS += -L$$PWD/lib/ -lQt5Qmqtt
INCLUDEPATH += $$PWD/.
DEPENDPATH += $$PWD/.
7、测试程序
#include "mqtt/qmqtt.h"
int main(int argc, char *argv[])
{
    QMQTT::Client *client = new             QMQTT::Client(QHostAddress::LocalHost,1883);
    client->setClientId("clientId");
    client->setUsername("user");
    client->setPassword("password");
    client->connectToHost();
}

四、无需编译,立即使用

我发的文件夹中已经包好了编译好的include和lib。所以直接可以从第三步开始。

你可能感兴趣的:(Qt)