Qt编译QuaZip以及程序应用

「这是我参与2022首次更文挑战的第19天,活动详情查看:2022首次更文挑战」。

最近打算做一个解压缩包的功能,发现Qt也可以实现,那么今天来讲解下如何在编译QuaZip库时遇到的那些问题以及坑,希望大家引以为戒,哈哈!

QuaZip的开源地址:QuaZip开源地址

开发环境:win10 环境 VS2017+Qt5.14.2 x64

如果你的运行环境与我一致,那么请继续往下看吧,不是VS2017也没有关系,VS2015以上都是可以支持滴~

下载的QuaZip的开源压缩包叫做:quazip-0.7.3,解压缩之后的内容,如下:

图片.png

第一步:双击打开"quazip.sln"

发现出现了这样的问题

图片.png

紧接着,解决方案也出现错误了

图片.png

没事,大家不要慌,我们只需要稍作修改就可以啦~

图片.png 重新加载quazip.pro

图片.png

接下来我们只需要一路“确定”,就可以将解决方案加载上啦~

第二步:编译

如果大家此时直接编译quazip解决方案,发现会出现如下的问题

图片.png 即使这样子也没有关系,我们这时需要借助一个叫做“everything”的搜索工具,如果没有直接从网上下载就可以了,这里不需要过多说明,借助这个工具,只需要搜索我们丢失的文件:"zlib.h"以及"zconf.h"

搜索对应的文件后,你会发现,居然有好多个地方存在这两个文件,此时,你需要匹配当前所应用的QT环境找寻匹配内容了。

在这里,我们如何知道该匹配哪个文件夹下的头文件呢?

最简单的方法就是,我们在使用VS编译程序时,在展示输出内容时的第一句话,就是我们头文件所处于的位置

图片.png

就按照蓝色区域框出来的路径查询,肯定没有问题。并将查询的两个.h文件拷贝到quazip文件夹下,并添加到项目中。

直接编译不会出现任何错误,完美!

编译完成的内容分别在以下两个文件夹中

图片.png

我们只需要拿出来对应的dll以及lib就可以了。并将quazip中所有的.h以及.cpp包装到一个叫做"include"的文件夹中,方便我们程序调用。

第三步:新建项目使用解压功能

新建一个Qt Widget的项目,假设项目名称叫做:QtZipFiles

3.1:配置quazip的属性

配置头文件

图片.png

配置quazip所需要用到的头文件路径,在这里需要注意的是,在新建项目中只需要在属性中配置就可以了,无需在项目中添加,否则会出现静态导出库的问题!

那么,对应的"include"中有哪些内容呢?

图片.png

就是上述我所说到的,quazip文件夹下所有的.h以及.cpp文件

配置静态库

图片.png

图片.png

debug与release的配置方式一致。

3.2:dll导出库位置

静待库配置完成后,下面需要放置两个dll了,此时,就需要将dll放到与你当前创建的项目QtZipFiles生成的exe相同的路径下

3.3:程序应用

以上属性配置成功之后,直接编译是不会出任何错误的,接下来就到了直接使用的环节了。

添加的头文件:

#include "JlCompress.h"
复制代码

解压缩使用

JlCompress::extractDir("F:\\1111.zip", "F:\\2222");
复制代码

压缩使用

JlCompress::compressDir("F:\\1111.zip", "F:\\2222");
复制代码

到这里Qt的压缩与解压缩功能就完成啦~

我是中国好公民st,一名C++开发程序猿~

猜你喜欢

转载自juejin.im/post/7062504295240826911