关于linux系统下qt5.9 安装mqtt模块的问题

写在前头:在做大作业的时候需要在qt程序中写mqtt通讯模块,网上的教程都是windows下qt安装mqtt模块,和linux上有一些出入。
笔者在安装模块也遇到很多坑,在这里写一下自己遇到的问题和解决方法还有步骤。(笔者是个菜鸟,友好讨论,别骂我呜呜)
如有不足,欢迎指正。

笔者使用环境为:
ubuntu(虚拟机)14.04 64位
qt: 关于linux系统下qt5.9 安装mqtt模块的问题
mqtt:下载
https://github.com/emqx/qmqtt

** 1.在qt中打开qmqtt这个项目:**

关于linux系统下qt5.9 安装mqtt模块的问题

2.设置项目

关于linux系统下qt5.9 安装mqtt模块的问题
关于linux系统下qt5.9 安装mqtt模块的问题

3.查看文件夹粘贴相应的文件到qt中

关于linux系统下qt5.9 安装mqtt模块的问题

3.1 头文件

打开include文件夹
复制位置:

关于linux系统下qt5.9 安装mqtt模块的问题
将此文件粘贴复制到这个目录下
粘贴位置:

关于linux系统下qt5.9 安装mqtt模块的问题再将整个mqtt文件夹复制
复制位置:

关于linux系统下qt5.9 安装mqtt模块的问题粘贴到 这个目录下
粘贴位置:

关于linux系统下qt5.9 安装mqtt模块的问题

3.2 链接文件

将mqtt项目中的lib链接文件复制粘贴到qt中

复制位置:

关于linux系统下qt5.9 安装mqtt模块的问题粘贴位置:
关于linux系统下qt5.9 安装mqtt模块的问题ps:windows的模块安装教程都是.dll文件,而linux下是.so为此我搜到了如下解释:
linux .o,.a,.so
.o,是目标文件,相当于windows中的.obj文件
  .so 为共享库,是shared object,用于动态连接的,相当于windows下的dll
  .a为静态库,是好多个.o合在一起,用于静态连接

再将四个链接文件粘贴复制到qt的bin目录下

复制位置:
关于linux系统下qt5.9 安装mqtt模块的问题粘贴位置:
关于linux系统下qt5.9 安装mqtt模块的问题

3.3 modules

1复制位置:
关于linux系统下qt5.9 安装mqtt模块的问题1粘贴位置:
关于linux系统下qt5.9 安装mqtt模块的问题2复制位置:
关于linux系统下qt5.9 安装mqtt模块的问题2粘贴位置:

关于linux系统下qt5.9 安装mqtt模块的问题

至此全部粘贴完成。

使用时,在要添加的项目文件: xxx.pro中 添加:QT +=core gui qmqtt

关于linux系统下qt5.9 安装mqtt模块的问题使用mqtt的头文件编译则无问题
关于linux系统下qt5.9 安装mqtt模块的问题其中遇到的问题:
关于linux系统下qt5.9 安装mqtt模块的问题关于linux系统下qt5.9 安装mqtt模块的问题
发现这是因为头文件的路径问题,
这里的include应该写为<qmqtt/qmqtt_global.h>
但是由于这种文件太多了
所以我的解决方法是将之前复制在include中的头文件全部复制一遍到上一级目录
这个目录中的.h文件:
关于linux系统下qt5.9 安装mqtt模块的问题粘贴复制到上一级目录:
关于linux系统下qt5.9 安装mqtt模块的问题