前言
Qt使用一些压缩解压功能,选择libzip库,libzip库比较原始,也是很多其他库的基础支撑库。
libzip
libzip是一个C库,用于读取,创建和修改zip档案。可以从数据缓冲区,文件或直接从其他zip归档文件直接复制的压缩数据中添加文件。在不关闭存档的情况下所做的更改可以还原。
当前版本是1.7.3,于2020年7月15日发布。
QQ群:1047134658(点击“文件”搜索“libzip”,群内与博文同步更新)
libzip编译
步骤一:解压
步骤二:Cmake配置(vs2017 x64版本)
需要zlib,之前已经编译过vs2017 x64版本的zlib了,导入再配置
步骤三:生成工程
步骤四:打开VS2017编译
步骤五:安装install
模块化
补充:查看命令行工具帮助和源码辅助开发
ziptool.exe -h usage: ziptool.exe [-ceghnrst] [-l len] [-o offset] archive command1 [args] [command2 [args] ...] Supported options are: -c check consistency -e error if archive already exists (only useful with -n) -g guess file name encoding (for stat) -h display this usage -l len only use len bytes of file -n create archive if it doesn't exist -o offset start reading file at offset -r print raw file name encoding without translation (for stat) -s follow file name convention strictly (for stat) -t disregard current archive contents, if any Supported commands and arguments are: add name content add file called name using content add_dir name add directory add_file name file_to_add offset len add file to archive, len bytes starting from offset add_from_zip name archivename index offset len add file from another archive, len bytes starting from offset cat index output file contents to stdout count_extra index flags show number of extra fields for archive entry count_extra_by_id index extra_id flags show number of extra fields of type extra_id for archive entry delete index remove entry delete_extra index extra_idx flags remove extra field delete_extra_by_id index extra_id extra_index flags remove extra field of type extra_id get_archive_comment show archive comment get_extra index extra_index flags show extra field get_extra_by_id index extra_id extra_index flags show extra field of type extra_id get_file_comment index get file comment get_num_entries flags get number of entries in archive name_locate name flags find entry in archive print_progress print progress during zip_close() rename index name rename entry replace_file_contents index data replace entry with data set_archive_comment comment set archive comment set_extra index extra_id extra_index flags value set extra field set_file_comment index comment set file comment set_file_compression index method compression_flags set file compression method set_file_dostime index time date set file modification time and date (DOS format) set_file_encryption index method password set file encryption method set_file_mtime index timestamp set file modification time set_file_mtime_all timestamp set file modification time for all files set_password password set default password for encryption stat index print information about entry Supported flags are: 0 (no flags) C ZIP_FL_NOCASE c ZIP_FL_CENTRAL d ZIP_FL_NODIR l ZIP_FL_LOCAL u ZIP_FL_UNCHANGED Supported compression methods are: default deflate store Supported encryption methods are: none AES-128 AES-192 AES-256 PKWARE The index is zero-based.
工程模板v1.0.0
对应工程模板:zipDemo_v1.0.0_基础模板_zip库的基础环境.rar