Qt项目使用pato mqtt C

news2024/11/25 21:53:24

一,下载pato mqtt C 源码

  git 地址:https://github.com/eclipse/paho.mqtt.c.git

git 地址可能下载不下来,提供我的gitee地址

 gitee地址:https://gitee.com/chaojidahuaidan2021/paho.mqtt.c.git

二,编译共享库

clone下来后,将项目导入到Qt工程中,此时这是一个cmke工程,可以直接编译  

编译完成后会在build目录下生成 libpaho-mqtt3a.so.1.3.13 和libpaho-mqtt3c.so.1.3.13 两个.so文件,这两个文件3c.so是Mqtt 同步库3a.so是Mqtt异步库,具体是怎么知道的,可以看CmakList.txt里面的配置

可以看到编译libpaho-mqtt3c加载的是 MQTTClient.c这个文件

编译libpaho-mqtt3a用的是MQTTAsync.c这个文件

三,移植共享库到Qt项目中

我们将这两个库copy到我们自己的Qt项目中,然后在.pro文件中进行配置

 我用的是同步库,并且将库的名字改成了pato-mqtt3c.so,并且放到了我项目中的libs目录里,所以配置如下。

unix: LIBS += -L$$PWD/libs/ -lpaho-mqtt3c
INCLUDEPATH += $$PWD/include
DEPENDPATH += $$PWD/include

 然后将头文件移植到我们的项目中,我将头文件放到了include目录下,所以才配置上面的include目录下,头文件可以从pato-mqtt3c的源代码copy出来,为了方便,我将源代码中所有的头文件都copy到了我的项目里了,我在include目录里创建了一个mqtt目录,用来放头文件

使用的时候只要在使用的地方引入头文件就要可以了

四,代码

下面是我自己写的一个MQTT手法的一个工具类,我是用线程实现的

头文件

my_mqtt.h

#ifndef MY_MQTT_H
#define MY_MQTT_H
#include "include/mqtt/MQTTClient.h"
#include <QThread>
#include <QObject>

#include <QCoreApplication>
#include "../include/mqtt/MQTTClient.h"

class MyMqtt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1709201.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java.lang.NumberFormatException: For input string:

创建SpringBoot&#xff0c;Mybatis的项目时候&#xff0c;Service层调用Mapper层时候爆出了一个错误 发现报错是一个类型转换错误&#xff0c;经过排查后发现是因为mapper接收的实体类中没有写空参构造

Debug-011-ES6中的链判断运算符(?.)

这个问题的来源是&#xff1a; 前端在请求后端接口&#xff0c;拿到的数据&#xff0c;有可能是这样的&#xff1a; data:{a:{b:{c:{d:""}}} } 我们前端小伙伴联调时需要取到d的值&#xff0c;我以前是这样写的&#xff1a; // 错误的写法 const value data.a.b.c…

抖音小程序如何生成二维码

1.页面结构 <image src{{imgUrl}}></image>2.代码结构 onLoad(options) {if (options.param) {var qrCode 13246897451257 //传入生成二维码的字符串this.generateQRCode(qrCode);}},//调起第三方库qrCodegenerateQRCode(text) {//调用了qrCode里面的apiconst api…

达梦数据库查看字符集、页大小

1.查看字符集select UNICODE (); 0 表示 GB18030&#xff0c;1 表示 UTF-8&#xff0c;2 表示 EUC-KR 2.查看页大小select SF_GET_PAGE_SIZE(); 也可以通过管理工具去查看

PHP对接百度语音识别技术

PHP对接百度语音识别技术 引言 在目前的各种应用场景中&#xff0c;语音识别技术已经越来越常用&#xff0c;并且其应用场景正在不断扩大。 百度提供的语音识别服务允许用户通过简单的接口调用&#xff0c;将语音内容转换为文本。 本文将通过PHP语言集成百度的语音识别服务…

C# 读取 CSV 文件的方法汇总

文章目录 1. 使用System.IO命名空间中的类2. 处理标题行和指定列3. 使用CsvHelper库4. 高级功能和异常处理5. 使用 LINQ6. 总结 CSV&#xff08;Comma-Separated Values&#xff0c;逗号分隔值&#xff09;文件是一种简单的文本文件格式&#xff0c;用于存储表格数据。在C#中&a…

C/C++连接MySQL

本章Gitee仓库地址&#xff1a;mysql连接基本操作 文章目录 1. mysql connect库2. mysql相关接口2.1 mysql_init()2.2 mysql_real_connect()2.3 mysql_query()2.4 mysql_store_result()2.41 mysql_num_rows2.42 mysql_num_fields2.43 mysql_fetch_row2.44 mysql_fetch_fields 2…

Enable Full Line suggestions 启用全行建议

开启后效果如下&#xff1a; 直接提示可能要输入的参数

【UE5.1 角色练习】06-角色发射火球-part2

目录 效果 步骤 一、火球生命周期 二、添加可被伤害的NPC 三、添加冲量 在上一篇&#xff08;【UE5.1 角色练习】06-角色发射火球-part1&#xff09;基础上继续实现角色发射火球相关功能 效果 步骤 一、火球生命周期 为了防止火球没有命中任何物体而一直移动下去&#…

React@16.x(12)ref 转发-forwardRef

目录 1&#xff0c;介绍2&#xff0c;类组件如何使用4&#xff0c;应用场景-高阶组件HOC 1&#xff0c;介绍 上篇文章中提到&#xff0c;ref 只能对类组件使用&#xff0c;不能对函数组件使用。 而 ref 转发可以对函数组件实现类似的功能。 使用举例&#xff1a; import Re…

【Linux】线程安全及锁的使用

文章目录 前言一、锁1.定义一个锁变量2.pthread_mutex_init3.pthread_mutex_destroy4.pthread_mutex_lock/pthread_mutex_unlock5.静态变量锁和全局变量锁的初始化 二、问题描述及锁的运用三、RAII风格的锁 前言 临界资源: 在多个线程或进程间共享的资源. 临界区: 代码中访问临…

《TCP/IP网络编程》(第十二章)I/O复用(1)

本章将讨论实现并发服务器的第二种办法&#xff0c;基于I/O复用的服务器端构建。 I/O复用它允许单个进程或线程同时处理多个输入/输出&#xff08;I/O&#xff09;操作&#xff0c;而无需为每个I/O操作创建一个独立的线程或进程。这种技术可以显著提高应用程序的效率和性能&…

2024最新TikTok抖音国际版,tiktok正版免拔卡安装来了!

保姆级教程&#xff01;2024最新TikTok抖音国际版&#xff0c;无限制&#xff01;tiktok正版免拔卡安装方法来了&#xff01; TikTok这款APP为何让全球都为之疯狂&#xff1f;因为它更懂人性&#xff0c;懂的人都懂&#xff01; 我是你的老朋友阿星&#xff0c;今天阿星要给大…

CTF网络安全大赛简单的web抓包题目:HEADache

题目来源于&#xff1a;bugku 题目难度&#xff1a;简单 题目 描  述: > Wanna learn about some types of headache? > Lets dig right into it! 下面是题目源代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8"&…

通过提示工程将化学知识整合到大型语言模型中

在当今快速发展的人工智能领域&#xff0c;大型语言模型&#xff08;LLMs&#xff09;正成为科学研究的新兴工具。这些模型以其卓越的语言处理能力和零样本推理而闻名&#xff0c;为解决传统科学问题提供了全新的途径。然而&#xff0c;LLMs在特定科学领域的应用面临挑战&#…

《java数据结构》--队列详解

一.认识队列&#x1f431; 初识队列&#x1f638; 队列和栈类似都对数据的存取有着严格的要求&#xff0c;不同的是栈遵循先进后出的原则&#xff0c;而队列遵循先进先出的原则&#xff0c;栈是只有一端可以存取&#xff0c;队列是一端存&#xff0c;一端取。这里我来画一个图…

echarts-象形柱图

象形柱图 一般的柱图都是纯色柱图&#xff0c;使用象形柱图可以给柱图定义自己的样式。 样式的调节与柱图一样&#xff0c;核心在于symbol调节柱图的组成。 let options {tooltip: {},xAxis: {type: "category",data: ["d1", "d2", "d3&qu…

Golang | Leetcode Golang题解之第103题二叉树的锯齿形层序遍历

题目&#xff1a; 题解&#xff1a; func zigzagLevelOrder(root *TreeNode) (ans [][]int) {if root nil {return}queue : []*TreeNode{root}for level : 0; len(queue) > 0; level {vals : []int{}q : queuequeue nilfor _, node : range q {vals append(vals, node.V…

啊哈!算法-第2章-栈、队列、链表

啊哈!算法-第2章-栈、队列、链表 第1节 解密qq号——队列第2节 解密回文——栈第3节 纸牌游戏——小猫钓鱼第4节 链表第5节 模拟链表 第1节 解密qq号——队列 新学期开始了&#xff0c;小哈是小哼的新同桌(小哈是个大帅哥哦~)&#xff0c;小哼向小哈询问 QQ 号&#xff0c; 小…

揭秘:如何使用Python统计女友生日还剩几天?

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;为何需要统计生日天数&#xff1f; 二、需求分析与准备 1. 用户输入格…