QT笔记——QuaZIP压缩文件夹

需求:解压缩包文件
开发环境:win10 + vs2019 + qt5.14.2

开源地址:QuaZIP下载地址
QT笔记——QuaZIP压缩文件夹_第1张图片
第一步:
用vs 打开“quazip.sln
QT笔记——QuaZIP压缩文件夹_第2张图片可能解决方案也没有出来,我们可以在
菜单栏 视图-》解决方案资源管理器
我们发现资源管理器也加载失败了
QT笔记——QuaZIP压缩文件夹_第3张图片

此时我们可以通过打开前面文件夹中的.pro文件(相当于用qt 插件 打开qt 项目),选中我们的“quazip.pro
QT笔记——QuaZIP压缩文件夹_第4张图片
QT笔记——QuaZIP压缩文件夹_第5张图片
出现上面的弹窗,选择“”就行
第二步:
我们编译的项目时出现了错误,出现的错误是头文件缺少QT笔记——QuaZIP压缩文件夹_第6张图片
我们可以寻找我们没有的文件
zlib.h"以及"zconf.h
路径是:“D:\QT5.12wj\5.12.2\msvc2017_64\include\QtZlib”,这个路径是我们下面编译时候的路径,然后找到QtZlib
我们可以将没有的文件 放在quazip-0.7.3文件夹中
QT笔记——QuaZIP压缩文件夹_第7张图片
第三步:
我们将dll放在一个文件中
QT笔记——QuaZIP压缩文件夹_第8张图片
QT笔记——QuaZIP压缩文件夹_第9张图片
QT笔记——QuaZIP压缩文件夹_第10张图片
第四部:
添加就是使用dll,然后运行项目
如何使用生成的dll文件

#include "JlCompress.h"

	/**********************************************************************************************
	*函数名称 :    compress_Dir
	*功能描述 :    压缩文件夹
	*返回值   :    bool  true:压缩完成 false:压缩失败
	*参数列表 :    const QString & souceDir,const QString & targetDir
	*参数意义 :    souceDir:源文件夹					如:C:/Users/admin/Desktop/test
	*			   targetFileName:以.zip结尾的文件夹    如:C:/Users/admin/Desktop/test.zip
	*作者	  :
	*创建时间 :	   
	*用法     :
	**********************************************************************************************/
	bool compress_Dir(const QString& souceDir, const QString& targetFileName);

	/**********************************************************************************************
	*函数名称 :    decompress_Dir
	*功能描述 :    解压压缩包
	*返回值   :    bool   true:解压完成 false:解压失败
	*参数列表 :    const QString& souceDir, const QString& targetFileName
	*参数意义 :    souceDir:需要解压的压缩包 以.zip结尾   如:C:/Users/admin/Desktop/test.zip
	*			   targetFileName:解压下来的文件夹名称	  如:C:/Users/admin/Desktop/test
	*作者	  :
	*创建时间 :	  
	*用法     :
	**********************************************************************************************/
	bool decompress_Dir(const QString& souceDir, const QString& targetFileName);
bool DecompressZip::compress_Dir(const QString& souceDir, const QString& targetFileName)
{
	//文件夹是否存在
	QDir dir(souceDir);
	if (!dir.exists())
	{
		return false;
	}

	if (JlCompress::compressDir(targetFileName, souceDir))
		return true;
	else
		return false;
}

bool DecompressZip::decompress_Dir(const QString& souceDir, const QString& targetFileName)
{
	//给出的文件是否为文件
	QFileInfo  fileInfo(souceDir);
	if (!fileInfo.isFile())
	{
		return false;
	}

	if (JlCompress::extractDir(souceDir, targetFileName).length() > 0)
		return true;
	else
		return false;
}

参考博客:Qt|编译 QuaZip 以及程序应用

你可能感兴趣的:(qt,开发语言)