qt 5.15.2压缩和解压缩功能

qt 5.15.2压缩和解压缩功能

主要是添加qt项目文件.pro内容:

这里要先下载quazip的c++项目先编译后引入到本项目中/zip目录下

cpp 复制代码
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内容如下所示:

cpp 复制代码
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

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

相关推荐
独隅11 分钟前
Claude 高效使用指南深度评测
java·开发语言·claude·claude code
Agent世界11 分钟前
千问Go上线我的应用:一句话生成可部署 AI 软件的技术拆解
开发语言·人工智能·golang·ai智能体
布莱克60513 分钟前
C++ 中 unordered_set 与 unordered_map 有什么不同?一篇讲透
开发语言·c++·哈希
小豆庄16 分钟前
视频脱敏引擎的追踪难题:转场误判定、ID撞号和淡入窗口
qt·算法·目标检测·音视频·视频·敏捷流程
外收内放23 分钟前
FastAPI猜字谜实战(6):日志与异常
开发语言·python·学习·fastapi
疯狂学习GIS24 分钟前
将谷歌地球引擎账号升级为Contributor与Partner层级的方法
java·数据库·人工智能
垆边人似月.26 分钟前
预处理与参数调优(让识别率从“能看”到“可用”)
开发语言·python·自然语言处理
gf132111130 分钟前
python_高德地图驾车时长查询
数据库·python·mysql
时间售卖铺39 分钟前
MySQL 日志管理
运维·数据库·mysql·云原生
泡泡糖的中文规格书41 分钟前
HDLbits 2.2 学习笔记 · 多路复用器
java·开发语言