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

495 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

系统: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这样就可以不用更改我们的代码了。 在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/12e9377c49534bfe8bf1ad17f6d5b6bc.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5YeJ5byA5rC055m96I-c,size_20,color_FFFFFF,t_70,g_se,x_16

总结

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