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

相关推荐
q***81641 小时前
MySQL:数据查询-limit
数据库·mysql
p***92481 小时前
DBeaver连接本地MySQL、创建数据库表的基础操作
数据库·mysql
汤姆yu2 小时前
基于python的外卖配送及数据分析系统
开发语言·python·外卖分析
Yue丶越2 小时前
【C语言】字符函数和字符串函数
c语言·开发语言·算法
JIngJaneIL2 小时前
社区互助|社区交易|基于springboot+vue的社区互助交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·社区互助
晚风吹人醒.2 小时前
缓存中间件Redis安装及功能演示、企业案例
linux·数据库·redis·ubuntu·缓存·中间件
翔云 OCR API2 小时前
人脸识别API开发者对接代码示例
开发语言·人工智能·python·计算机视觉·ocr
Y***98513 小时前
DVWA靶场通关——SQL Injection篇
数据库·sql
Yawesh_best3 小时前
告别系统壁垒!WSL+cpolar 让跨平台开发效率翻倍
运维·服务器·数据库·笔记·web安全
V***u4533 小时前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言