QT编译安装QtMqtt子模块,Linux平台

简介: QT编译安装QtMqtt子模块,Linux平台

系统:Windows10

环境:QT5.12.9

源码下载和源码的编译请参考:QT编译安装QtMqtt子模块,WIN平台,(网盘工程文件在该文文末)

编译完成过后我们会使用到的文件夹有以下几个:

include文件夹和src文件夹

然后我们将src文件夹下的mqtt文件夹全部复制到QT的安装目录,具体路径如下图,然后我们将源码编译生成文件夹中的include下的文件也复制到这个路径里面

Qt/5.12.9/gcc_64/include/mqtt

lib文件夹

然后我们将链接文件也添加一下:需要用到的文件是编译文件中的lib文件夹

将共享库添加到这个目录

将链接文件添加到bin目录:

然后我们一直最后一个地方,上次在写win平台下的这个地方遗漏了,如果不操作这一步会出现找不到qmqtt模块,如下图:

mkspecs文件夹

如果遇到这种情况请将编译文件中的文件按照下图复制到对应目录;

错误修改

到这里正常情况下已经可以使用了这里继续沿用我们再win平台安装模块的工程来编译一下;

这里的第一个错误是因为这个工程是从win平台移植的时候用的,那个时候我们创建的文件夹是qtmqtt文件家到QT的安装目录下的include文件夹,然后这一次我们没有修改这个文件夹的名字直接用的是mqtt,所以第一个错误将qtmqtt改成mqtt即可完成编译,如果要修改的话也可以直接去修改qt安装目录下的include文件夹下的mqtt文件夹名字;然后第二个报错和win平台一样会遇到路径问题,这里可以使用先前在win平台的解决办法将<>换成""来引用,还有一种办法是将刚刚那个include/mqtt文件中的所有文件复制到上一级目录include这样就可以不用更改我们的代码了。

总结

其实Linux平台下的子模块安装和windows平台下的安装非常的相识,不过是将mingw编译器换成了gcc编译器而已,还有就是链接文件的不同,这是两个平台的不同点,在win平台下链接文件都是.dll,在Linux平台都是以共享库.so的方式链接文件。

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
2月前
|
安全 关系型数据库 MySQL
Linux下安装mysql8.0(以tar.xz包安装--编译安装)
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。
1092 67
|
1月前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
106 2
|
1月前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
2月前
|
NoSQL Ubuntu Linux
Linux平台安装MongoDB
10月更文挑战第11天
75 5
|
2月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
113 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
3月前
|
Unix Linux 网络安全
python中连接linux好用的模块paramiko(附带案例)
该文章详细介绍了如何使用Python的Paramiko模块来连接Linux服务器,包括安装配置及通过密码或密钥进行身份验证的示例。
144 1
|
4月前
|
SQL 关系型数据库 MySQL
linux 上源码编译安装 PolarDB-X
linux 上源码编译安装 PolarDB-X
202 6
linux 上源码编译安装 PolarDB-X
|
3月前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。
|
4月前
|
NoSQL Linux Android开发
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
本文介绍了如何在QEMU中挂载虚拟分区、创建和编译简单的Linux内核模块,并在QEMU虚拟机中加载和测试这些内核模块,包括创建虚拟分区、编写内核模块代码、编译、部署以及在QEMU中的加载和测试过程。
244 0
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
|
4月前
|
负载均衡 应用服务中间件 Linux
在Linux中,常用的 Nginx 模块有哪些,常来做什么?
在Linux中,常用的 Nginx 模块有哪些,常来做什么?