当前位置: 首页 > news >正文

QT搭建MQTT开发环境

QT搭建MQTT开发环境

第一步、明确安装的QT版本

在这里插入图片描述

注意: 从QT5.15.0版本开始,官方不再提供离线版安装包,除非你充钱买商业版。

而在这里我使用的QT版本为5.15.2,在线安装了好久才弄好,还是建议使用离线安装的版本

在这里可以直接从国内的QT源下载:qt-opensource-windows-x86-5.14.2.exe
网盘链接(永久有效):qt-opensource-windows-x86-5.14.2.exe

链接使用的是阿里云的镜像源,点击就可以下载,注意在安装的时候需要准备好QT的账号,这里随便用一个邮箱注册就好,要不然没有办法安装(官方注册链接)

第二步、下载官方的QT MQTT源码

在这里给出两个下载途径:
一、GitHub:qtmqtt
二、GitCode:qtmqtt

GitCode是从GitHub上同步的源码,如果在GitHubClone不下就还是从国内的同步源下载
在这里插入图片描述

三、切换项目分支

在前期准备的时候也是一直找不到他们对应结构下文件,去看一下对应的版本才发现,QT官方对不同版本的QT有着不同的对应版本的项目工程,这才是导致你一直没有办法找到对应文件的问题所在(超级大坑

查询所有分支

git branch -a

在这里插入图片描述
切换到自己QT对应版本的分支

git switch -c origin/5.15.2

在这里插入图片描述
这里你就可以看到目录下的文件就会有些不同,qtmqtt.pro就会出现在更目录下,然后点击打开项目即可

注意:如果想要省略切换分支这一步,就要在克隆源码上添加命令

例如

git clone -b 5.15.2 https://github.com/qt/qtmqtt.git 

中间的参数为QT的版本号,这里先在网页里找到对应的分支再进行操作

四、编译项目源码

打开根目录下的项目工程

在这里插入图片描述
这里根据自己的项目需求和习惯来进行选择

这里打开后会自动加载一系列文件,还会有报错,这里忽略这些错误

在这里插入图片描述

这里切换Release版本编译

在这里插入图片描述

执行qmake

在这里插入图片描述
在这里插入图片描述
这里编译需要一段时间
在这里插入图片描述
编译完成

构建项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
构建完成

五、移植项目工程文件

由于在这里尝试过很多次的将文件移植到编译工程中,但是一直都没有成功,这里采用工程项目移植的方式确保工程项目能稳定运行编译

先创建一个空项目,切换到对应的分支然后编译运行一下
在这里插入图片描述
确保对应目录下有对应的文件
在这里插入图片描述

移植文件到项目文件夹

include文件夹复制到克隆源码目录下的src/mqtt
在这里插入图片描述
然后将源码目录下src文件夹下的mqtt文件夹复制到工程的根目录下
在这里插入图片描述

在这里我们就完成了初步的文件移植的工作

六、项目的配置

添加网络模块

QT += network

添加目录索引(这里添加时为了在写代码的时候有提示,如果不添加编译也不会报错)

INCLUDEPATH += $$PWD/include
DEPENDPATH += $$PWD/include

在这里插入图片描述

添加外部库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击下一步完成就好,这里就会自动添加其对应路径,到这里初步的项目的编译环境就配置完成了

七、复制官方的示例进行测试

simpleclient源码测试

在这里插入图片描述
将这四个文件复制替换
在这里插入图片描述

打开项目文件,在mianwindow.h中修改头文件引用

在这里插入图片描述

刚开始的时候出现索引不到UI控件,这里先清除一下,然后删除编译输出文件

在这里插入图片描述

点击运行,就可以成功运行例程

在这里插入图片描述
运行成功,完结撒花!

http://www.lryc.cn/news/41529.html

相关文章:

  • Python3,5行代码,生成自动排序动图,这操作不比Excel香?
  • 【Java SE】变量的本质
  • 【Android笔记85】Android之使用Camera和MediaRecorder录制视频
  • MySQL集群搭建与高可用性实现:掌握主从复制、多主复制、负载均衡和故障切换技术,让你的MySQL数据库永不宕机!
  • 收到6家大厂offer,我把问烂了的《Java八股文》打造成3个文档。共1700页!!
  • 多线程 (六) 单例模式
  • Docker入门到放弃笔记之容器
  • 项目二 任务三 训练5 交换机的HSRP技术
  • 计算机网络复习重点
  • 算法基础---基础算法
  • linux中写定时任务
  • 2023.3.21
  • 制作数据库框架
  • Winbond W25Qxx SPI FLASH 使用示例(基于沁恒CH32V307单片机)
  • 贪心算法的原理以及应用
  • WebRTC拥塞控制原理之一基本介绍
  • 选择 .NET 的 n 个理由
  • spark第三章:工程化代码
  • Vue实战【封装一个简单的列表组件,实现增删改查】
  • 微前端(无界)
  • 强烈推荐:0基础入门网安必备《网络安全知识图谱》
  • 网络技术与应用概论(上)——“计算机网络”
  • JAVASE/封装、继承、多态
  • SpringBoot ElasticSearch 【SpringBoot系列16】
  • Virtual box磁盘大小调整操作
  • MySQL注入秘籍【上篇】
  • 简单三步解决动态规划难题,记好这三步,动态规划就不难
  • 算法进阶指南打卡
  • Chapter6.2:其他根轨迹及综合实例分析
  • 3. 无重复字符的最长子串——滑动窗口