qt 5.15.2压缩和解压缩功能
主要是添加qt项目文件.pro内容:
这里要先下载quazip的c++项目先编译后引入到本项目中/zip目录下
INCLUDEPATH +=./zip
CONFIG(debug, debug|release) {win32:win32-g++: PRE_TARGETDEPS += $$PWD/zip/libquazipd.awin32:win32-g++: LIBS += -L$$PWD/zip/ -l quazipd
} else {win32:win32-g++: PRE_TARGETDEPS += $$PWD/zip/libquazip.awin32:win32-g++: LIBS += -L$$PWD/zip/ -l quazip
}
完整的qt项目文件.pro内容如下所示:
QT = coreINCLUDEPATH +=./zip
CONFIG(debug, debug|release) {win32:win32-g++: PRE_TARGETDEPS += $$PWD/zip/libquazipd.awin32:win32-g++: LIBS += -L$$PWD/zip/ -l quazipd
} else {win32:win32-g++: PRE_TARGETDEPS += $$PWD/zip/libquazip.awin32:win32-g++: LIBS += -L$$PWD/zip/ -l quazip
}CONFIG += c++17 cmdline# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += targetDISTFILES += \zip/libquazipd.a \zip/quazipd.dllHEADERS += \zip/JlCompress.h \zip/quazip.h \zip/quazipfile.h \zip/quazipfileinfo.h
根目录下zip目录情况如下所示:
main.cpp
#include <QCoreApplication>
#include "JlCompress.h"
#include <iostream>int printf(QString line)
{std::cout<<line.toStdString()<<std::endl;
}
int printf(int line)
{std::cout<<line<<std::endl;
}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);//解压缩JlCompress::extractDir("C:\\data\\obj\\Tile_+006_+006_OBJ.zip","C:\\data\\obj\\Tile_+006_+006_OBJ");printf("解压缩成功");JlCompress::compressDir("c:\\data\\obj\\test55.zip","C:\\data\\obj\\Tile_+006_+006_OBJ");printf("压缩成功");a.quit();return a.exec();
}
本blog地址:https://blog.csdn.net/hsg77