qt 5.15.2压缩和解压缩功能
主要是添加qt项目文件.pro内容:
这里要先下载quazip的c++项目先编译后引入到本项目中/zip目录下
INCLUDEPATH +=./zip
CONFIG(debug, debug|release) {
win32:win32-g++: PRE_TARGETDEPS += $$PWD/zip/libquazipd.a
win32:win32-g++: LIBS += -L$$PWD/zip/ -l quazipd
} else {
win32:win32-g++: PRE_TARGETDEPS += $$PWD/zip/libquazip.a
win32:win32-g++: LIBS += -L$$PWD/zip/ -l quazip
}
完整的qt项目文件.pro内容如下所示:
QT = core
INCLUDEPATH +=./zip
CONFIG(debug, debug|release) {
win32:win32-g++: PRE_TARGETDEPS += $$PWD/zip/libquazipd.a
win32:win32-g++: LIBS += -L$$PWD/zip/ -l quazipd
} else {
win32:win32-g++: PRE_TARGETDEPS += $$PWD/zip/libquazip.a
win32: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.0
SOURCES += \
main.cpp
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
DISTFILES += \
zip/libquazipd.a \
zip/quazipd.dll
HEADERS += \
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