• QT编译并使用Mqtt


      工作需要用到MQTT协议,网上搜了下发现有现成的QT下的MQTT实现,于是乎找代码、编译、碰壁、找教程、碰壁。。。折腾一圈,记录下编译使用过程。

      一、系统环境及准备

      Win10、vs2017社区版、QT5.12.4,github上有很多分支代码,下载时选择与QT对应的https://github.com/qt/qtmqtt/tree/5.12.4,把代码下载的一个文件夹下面(网上有人说路径不能有空格和中文,未测试真假,为节省时间还是选择放到不含中文和空格的路径下)

      二、开工

      1、在代码文件夹下创建一个build文件夹(这个名字是自己起的),也可以不要,为了把输出内容放到这,我创建了。


      2、执行Qt 5.12.4 (MSVC 2017 32-bit)进入命令行。
      3、切换到C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build执行vcvars32.bat
      4、切换到代码目录下刚创建的build

       5、执行qmake ../
       6、执行nmake all

     

    然后就开始编译,结果报错 

     观察错误内容,没有找个头文件,这时在build文件下会生成一堆文件,其中有个include文件夹,我们需要在这个文件夹下放对应的头文件就行,把C:\qtmqtt\src\mqtt下的对应头文件拷贝到C:\qtmqtt\build\include\QtMqtt下,继续编译,继续出现错误。。。最后拷贝过去对应的文件夹内容是下面图中内容。

     private文件夹下存放带_p的头文件

     上面拷贝完毕后再次运行nmake all 就可以了。
    7、执行nmake install,把生成的模块安装到QT里,这样在项目中可以直接使用了。


      8、执行nmake docs生成qtmqtt文档
      9、执行nmake install_docs安装文档
      10、执行nmake sub-examples-install_subtargets,生成使用示例,这样就可以在QT里直接打开示例代码。
      11、把C:\qtmqtt\build\include\QtMqtt文件夹拷贝到C:\Qt\Qt5.12.4\5.12.4\msvc2017\include下面。打开示例代码就可以了。

  • 相关阅读:
    接口的幂等性怎么设计?
    python 实现批量 WKT 转 KML
    火星坐标(GCJ02)高精度反算
    GDAL RasterIO 速度测试程序
    linux下 QtCreator 运行不显示 qDebug 输出的问题
    我使用的 clang-format 配置文件
    cephadm 离线安装部署 ceph 集群记录
    解决vcpkg无法交叉编译arm64版本 HDF5 库的问题
    QEMU 虚拟 aarch64(arm64) 记录
    DE-9IM 空间关系模型
  • 原文地址:https://www.cnblogs.com/gushandujian/p/16296032.html
Copyright © 2020-2023  润新知