Ubuntu 18.04安装QtMqtt模块、低于QT5.0有其他mqtt sdk库

从零到一:imx6ull Qt应用集成MQTT的交叉编译实战 本文详细介绍了在imx6ull开发板上集成Qt应用与MQTT的交叉编译实战。从环境准备、MQTT源码获取与Qt适配,到交叉编译库文件、项目集成与验证,提供了完整的步骤和常见问题解决方案,帮助开发者快速实现嵌入式设备上的MQTT通信功能。 阅读详情


前言:
如果你要移植到开发板,也是同样的方法,根据你的QT 交叉编译kit更换类似函数(比如我板子的QT交叉编译kit是4.8,虚拟机的QT编译kit版本是5.14),然后把生成的文件扔进对应kit的include和lib等文件夹里。后续写完程序用交叉kit编译生成后即可直接下载到开发板执行。

但是这个库最低用5.0版本以上的QTkit来编译,低于这个版本的kit缺少的函数更多,无法替换mqtt源码里同功能的函数,且都是重要函数,想移植就没办法了。我实际使用的是Eclipse Paho C,这个就没有QT版本限制。交叉编译的朋友只需要进Makefile更换CC编译工具即可


这里提供GitHub上有的各种语言(java php go python…)mqtt库,各位可以按需选择下载
戳我戳我戳我
PS:
如果是window平台下,编译中可能会需要perl,参考博客


下载MQTT模块

附上GitHub上的QT官方原库:戳我

Ubuntu+QT5.14下编译模块

把源码目录下的src/mqtt 里面的头文件复制一份放到你QT编译模块下的inlcude。因为编译src时需要这些头文件
在QT5.14 下新建一个QtMqtt 文件夹
在这里插入图片描述
并把src/mqtt 里的文件复制过去,doc似乎是说明文档?可以酌情复制

2,用QT打开源码目录下的qtmqtt.pro ,然后选择releas编译
在这里插入图片描述


注意:自行修改源码后,并未测试稳定性。所以要用于实际产品的朋友可以选其他的版本,如我实际使用的是Eclipse Paho C,这个就没有QT版本限制。交叉编译的朋友只需要进Makefile更换CC编译工具即可

因为这个版本的mqtt,用的是QT6.0编译,所以mqtt源码有些函数我的qt5.14编译kit不支持,具体支持哪些函数,跟你的编译kit版本有关系。
在这里插入图片描述
根据你kit里支持的函数,替换掉源码里高版本QT才支持的函数。下面将介绍我用QT5.14的函数替换mqtt源码的高版本函数。

更换一:
在这里插入图片描述

src->Sources->qmqttconnection.cpp 1454行 调整qlist 大小的resize 需要更换。低于QT 6.0的没有resize 这个函数 我的QT5.14 有reserve


更换二:
在这里插入图片描述

src->Sources->qmqtttopicfilter.cpp 245行 QStringView,我的QT5.14没有切割函数,我换成了QString


在这里插入图片描述

src->Sources->qmqttconnection.cpp 177 行的信号连接会有错误,经查阅资料,换种写法,并在源文件声明为槽函数
在这里插入图片描述
信号与槽的几种connnect写法参考

编译,完事儿!

手动安装各种文件

想知道qt编译kit下的include在哪里,就随便写个#include <>的有效头文件,然后鼠标放上去,就会弹出所在目录

PS:想指明第三方库所在路径,有四种方法:,
1,添加xx.pc文件export PKG_CONFIG_PATH=/xxx:$PKG_CONFIG_PATH和指定搜索路径的export LD_LIBRARY_PATH=/yourdir/:$LD_LIBRARY_PATH
2,在 /etc/ld.so.conf 文件中添加库的搜索路径。将库文件的绝对路径/lib直接写进去就OK。
3,丢到编译器的默认搜索路径。使用 arm-前缀-gcc -print-file-name=xxx.so 来找到默认路径
4,在configure阶段,添加-LDFLAG 增加编译选项给编译器直接增加搜索路径
如果你移动了lib库文件,对应的xx.pc也要同步更新,且放到pkgconfig搜索目录下!!否则pkg-config会搜索不到!

在这里插入图片描述


首先是编译输出目录的文件放进去qt编译kit下的include
在这里插入图片描述


然后是放lib模块,记得cmka和pkconfig里面的文件也要复制放进去对应目录
另外强调一下,pkconfig里面的 .pc 文件是指明include和lib文件所在地的,编译前指定了这个库放在什么路径,那这个 .pc 文件里面就会指向什么路径。而当你移植到对应目录的时候,最好改一下.pc 文件
在这里插入图片描述


最后放库文件
在这里插入图片描述


然后尝试编译Mqtt源码目录下的emample示例程序,能跑通就说明编译成功! 注:如果提示头文件找不到,就补齐文件所在目录,指明一下即可。如#include <QtMqtt/qmqttclient.h>
在这里插入图片描述

若有不正确的地方,请各位不吝赐教!

第24篇 基础 (二十四)在ubuntu上安装qt的mqtt模块 在虚拟机ubuntu上,qt的版本是5.14.2,最初安装的时候没有选择mqtt模块。然后如果后期安装,可以通过源码进行mqtt安装。报错,找不到这个文件。通过查看qt安装文件夹,没有发现mqtt相关模块。需要自己动手重新安装。 阅读详情

相关推荐

使用Ubuntu进行MQTT的交叉编译

在本文中,我们将详细介绍如何在Ubuntu操作系统上进行MQTT的交叉编译。交叉编译是指在一台主机上开发和编译代码,然后将生成的可执行文件部署到另一种体系结构的目标设备上运行。通过上述步骤,您可以在Ubuntu操作系统上成功进行MQTT的交叉编译。一旦MQTT库的交叉编译完成,我们可以编译示例代码以验证库的功能。现在,我们可以开始进行MQTT库的交叉编译。接下来,我们将详细介绍在Ubuntu上进行MQTT的交叉编译的步骤。该示例代码将连接到指定的MQTT代理并发布消息到指定的主题。)下载最新版本的源代码。

CodeWOW的博客 461

QT简单实现MQTT通信

本文主要讲述如果使用qt进行mqtt协议的移植以及简单的使用,希望能帮助到您。

m0_62683461的博客 7281

Qt编译MQTT(Ubuntu18.04/Win11)

什么是MQTT?作用是什么(适用场景)?与其他通讯协议相比,优缺点在那里?

Ricardo的博客 1941

嵌入式Linux下 QT移植mqtt的方法(包含arm端)

环境: Ubuntu18.04 开发板:debian 交叉编译工具链:arm-linux-gnueabihf-gcc 8.3.0 Qt:Qt5.11.2 解决方案在文末,如不想看中间过程,可直接跳转到文末。 mqtt是一种工业物联网协议,可以用来连接阿里云、百度云、onenet等云端,应用广泛。 关于mqtt的使用,网上资料主要有以下几种: 1、STM32+ESP8266:这种方式主要是借助ESP8266模块来联网,至于mqtt协议基本上是要自己实现的。也就是mqtt的报文需要自己去构建,好在mqtt的报文

dafeigehaha的博客 4108

ubuntu下安装qtmqtt v5.12.1

安装qt5.12.1中的mqtt的库,首先要先安装qt5.12.1,保证qmake 能用在运行脚本

运放电路实战:5分钟搞定加法器与减法器的电路设计与调试(附避坑指南)

本文从实战角度出发,详细讲解了运算放大器加法器与减法器的电路设计与调试方法。针对加法器,重点分析了利用“虚地”特性简化设计和选型要点;对于减法器,则深入剖析了决定精度的核心——电阻匹配问题,并提供了使用电阻网络等提升共模抑制比的实用策略。文章还分享了从仿真到实物焊接的完整流程与常见避坑技巧,帮助电子爱好者快速掌握这两种基础运放电路。

weixin_28323057的博客 466

长沙红胖子Qt·西安(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...

长沙红胖子 Qt・西安,本人拥有省级科研团队从业背景,研发团队产出所有项目、产品方案和研发无分包、无外包、无AI代笔,长期深耕双一流体系高精尖技术配套研发。博客主动剥离复杂底层工况机理,专注沉淀高端、特种行业领域Qt工程化落地实战经验。所有内容均为个人梳理总结的通用性工程方法论,只输出可公开的普适技术思路。

长沙红胖子 Qt・西安|省级科研团队从业背景,深耕双一流体系高精尖技术配套研发|剥离高精尖机理,沉淀高端特种行业领域 Qt 工程化落地经验|博文仅分享通用技术总结,输出公开普适工程思路。 164万+

MacX DVD Ripper Pro for Mac(DVD解码器) 6.2.120190416免激活版

只需要5分钟即可转档一张DVD光碟!并允许我们在编码之前预览、编辑、裁剪、修剪或扩展视频。第一款也是唯一一款能够支持DVD到MP4,H.264,MOV,FLV,MPEG4等所有格式DVD(新DVD,99-标题DVD,损坏和无法播放的DVD)和翻录DVD / ISO映像的工具,AVI,QT,MP3等。借助350多种预设配置文件MacX DVD Ripper Pro for Mac(DVD解码器) 6...

llhf688的博客 890

Ubuntu18.04下成功编译MQTT办法

Ubuntu18.04下成功编译MQTT办法,QtMqtt下载地址:https://github.com/qt/qtmqtt/tree/5.14.2

xqf222的专栏 1528

从零到一:手把手教你用STM32和WiFi打造智能温室大棚的物联网核心

本文详细介绍了如何利用STM32单片机和WiFi技术从零构建智能温室大棚的物联网核心系统。内容涵盖硬件选型、传感器集成、低功耗WiFi通信、自动控制逻辑及OLED显示,提供实际部署中的优化技巧和故障排查方案,帮助开发者打造稳定可靠的农业自动化解决方案。

c7d8e的博客 179

不用Root也能抓包?Android高版本HTTPS抓包的3种替代方案(含Charles技巧)

本文针对Android高版本HTTPS抓包难题,提供了三种无需Root权限的实战解决方案:利用VirtualXposed等虚拟沙盒环境、配置Postern等系统级代理工具,以及通过修改应用源码或网络安全配置。文章还详细解析了Charles抓包工具在非Root环境下的高级配置与排错技巧,帮助开发者在遵守安全规范的前提下,有效进行网络调试与监控。

http9protocoller的博客 647

『heqingchun-ubuntu使用MQTT,并将官方QMQTT编译成模块在项目中使用』

ubuntu使用MQTT,并将官方QMQTT编译成模块在项目中使用

heqingchun16的博客 604

GoDaddy域名解析 到 阿里云域名DNS

一:登录GODaddy,点击“个人中心”,然后点击“管理域名” 二:域名解析 第一种:直接解析到对应的服务器 添加一个,类型默认A,主机填写二级域名前缀(image.主域名),指向填写目标服务器ip即可(注意目标服务器80端口是否开放) 第二种:将主域名dns转到阿里云域名下 三:若要修给为阿里云解析服务器,要做以下修改,点击“更改” 点击更改后出现如下页面,此时需要到阿里云官网云解析DNS下添加域名解析 四:阿里云添加域名解析...

xiaolinzi176的博客 6704

基于Ubuntu Qt mqtt库的mqtt客户端实现

qt mqtt ubuntu

在水一方 1809

Codex 100个真实案例 - 用AI做股票K线分析工具(技术指标全自动)

本案例将用 Codex 从零搭建一个完整的股票 K 线分析工具。通过自然语言驱动,我们让 AI 自动完成股票数据获取(akshare)、K 线图绘制(mplfinance + ECharts)、技术指标计算(MA/EMA/MACD/RSI/KDJ/布林带)、买卖信号提示(金叉/死叉、超买超卖)、多股对比分析、Web 可视化界面(Flask + ECharts)、PDF 报告生成以及定时监控邮件推送等全套功能。全程用自然语言指令驱动 Codex,零手写代码实现专业级量化分析平台!

yueyeguzhuo的专栏 870

微信公众号网页H5跳转小程序实战指南(开放标签wx-open-launch-weapp)微信H5跳转小程序、wx-open-launch-weapp、小程序跳转按钮、微信开放标签、H5打开小程序

跳转小程序(wx-open-launch-weapp)唤起App显示支付按钮等等……而我们这次要用的,就是跳转小程序的标签。场景是否支持服务号网页✅ 支持小程序静态网页托管✅ 支持订阅号❌ 不支持微信外部浏览器❌ 不支持这个“开放标签”功能其实很强大,除了跳转小程序,还有唤起APP、跳支付、调用客服等能力。但可惜资料零散,很多坑等着你亲自踩一遍。这篇文章我整理的流程基本涵盖了从“能不能跳”到“怎么跳”的完整路径,希望你能像我一样省下几个小时的踩坑时间。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1163

Ubuntu16.04LTS环境下搭建MQTT服务器以及QT实现MQTT客户端

在ubuntu16.04LTS环境下搭建MQTT服务器,并用QT实现了一个MQTT消息服务器

weixin_45457363的博客 2868

【数字孪生与仿真技术】10:半导体制造中的虚拟量测技术深度解析:从多尺度建模到工业级应用

摘要:半导体制造过程中,晶圆加工需实时监测300+关键参数,传统物理量测技术面临产能损耗、延迟检测等痛点。本文系统阐述虚拟量测(Virtual Metrology)技术的完整解决方案,通过多尺度混合建模实现物理机理与数据驱动的深度融合。内容涵盖等离子体刻蚀、薄膜沉积等关键工艺的物理模型构建,LSTM神经网络的数据校正算法,以及边缘-云协同的实时部署架构。某12英寸晶圆厂实践表明,虚拟量测技术可减少70%物理量测频次,异常漏检率从18%降至3%,机台利用率提升11%。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2552

linux(ubuntu)下用命令行安装qt环境

is not installed sudo apt install

qq_44784259的博客 6901

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

基于Ubuntu20.04版本源码编译qtmqtt至loongarch平台

高版本的ubuntu通过源码编译QtMqtt到loongarch平台,并连接阿里云服务器

weixin_64837732的博客 2397

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Ubuntu下 Qt 连接阿里云mqtt服务器

​① 源码下载地址:https://github.com/emqx/qmqtt 下载完之后解压,然后将 src/mqtt 文件夹拷贝到你的工程根目录下,如:(smartHome是我的工程项目名) ② 然后在 .pro 文件中添加 mqtt 相关的头文件和源文件: 注意:在导入库之后,一定要在.pro文件中添加如下代码:QMAKE_CXXFLAGS += -std=c++11 编译时才不会报错!!!

一起来学习嵌入式! 5004

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Ubuntu20.04+Qt5.15.2+Webassembly+qmqtt模块构建Web端物联网平台

Ubuntu20.04+Qt5.15.2+Webassembly+qmqtt模块构建Web端物联网平台前言环境搭建Qt下载与安装安装Emscripten编译源码打开Qt Creator进行测试qmqtt库的配置官方mqtt库的编译与配置测试官方qmqtt库利用阿里云物联网平台搭建mqtt服务器参考网站 前言  课设需要,需要搭建一个Web网站展示采集到的数据并展示。之前有留意到QT一直有个在实验室测试的模块Webassembly,本着对Qt特有的情怀,想着课设要实现做的功能也不多,而且一份代码换个编译器就能

weixin_43927399的博客 5134

在ubuntu环境下,编译qtmqtt模块整体过程

在mqtt编译输出的目录中找到目录:mkspecs\modules,并复制两个pri文件到目录/opt/Qt/6.6.3/gcc_64/mkspecs/modules。本贴记录在ubuntu20.04环境下搭建qtmqtt服务,主要是使用qt官网提供的mqtt模块来编译生成。需要注意的是自己的QT Creator版本为多少就下载对应的版本号即可,我使用的qt版本是6.6.3.将所示文件移动到/opt/Qt/6.6.3/gcc_64/lib这个目录中。下载完成后,打开项目是这样的。

qq_42558591的博客 1002

基于Ubuntu系统,在qt上部署第三方库qmqtt,适用于所有qt版本

基于Ubuntu系统,在低版本的qt中部署第三方qmqtt库

weixin_65715744的博客 1671

物联网小项目智能家居(QT、MQTT、嵌入式开发板、Ubuntu)

概述:搭建一个物联网的实战小项目,为本阶段的学习做了一次总结及记录。把构建的整个过程分享出来给大家,项目难点在于各种环境的搭建,而代码逻辑并不难。涉及到QT、MQTT、ubuntu、linux开发板

weixin_43917126的博客 5743

【QT的学习】在QT中如何使用MQTT

背景:在ubuntu16.04(linux)中,要在qt程序中使用MQTT连接IOT,因此qt程序要加载MQTT。本方法采用的MQTT是QT官方自带的qtmqtt,只不过目前没有放在QT库的安装包中,需要自行下载源码编译 一:在qt中加载MQTT方法: (1)下载qtmqtt:https://github.com/qt/qtmqtt git clone https://github.com/qt/qtmqtt.git (2)因为qtmqtt也有很多的分支对应不同的qt版本,因此选了qt5.12.5

ipfpm的博客 8586
上一篇: 海思开发板FFmpeg+Nginx,推流RTMP播放(优秀教程收集+实操整理)
下一篇: Qt 字符编码转换(UTF-8 转换为 GBK) \u7528\u6237\u672a\u7b7e\u7ea6
温柔大猩猩
博客等级 码龄7年 65粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值