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

相关推荐
黎相思2 分钟前
MySQL在Centos 7环境下安装
数据库·mysql·centos
vxtkjzxt8889 分钟前
手机群控平台的核心功能
数据库·数据仓库
TG_yilongcloud15 分钟前
阿里云国际代理:怎么保障数据库在凭据变更过程中的安全与稳定?
数据库·安全·阿里云·云计算
恣艺41 分钟前
Redis有序集合(ZSet):排行榜功能的最优解,原理与实战
数据库·chrome·redis
NG WING YIN1 小时前
Golang關於信件的
开发语言·深度学习·golang
Sunny_yiyi1 小时前
Java根据模版导出PDF文件
java·开发语言·pdf
麦兜*1 小时前
MongoDB 与 GraphQL 结合:现代 API 开发新范式
java·数据库·spring boot·mongodb·spring·maven·graphql
橘子131 小时前
C++实战:搜索引擎项目(二)
开发语言·c++·搜索引擎
赵谨言1 小时前
基于python人物头像的卡通化算法设计与实现
开发语言·经验分享·python
应用市场1 小时前
Qt C++ 图形绘制完全指南:从基础到进阶实战
开发语言·c++·qt