美文网首页
libzip开发笔记(一):libzip库介绍、编译和工程模板

libzip开发笔记(一):libzip库介绍、编译和工程模板

作者: 红模仿_红胖子 | 来源:发表于2020-12-30 21:50 被阅读0次

    若该文为原创文章,转载请注明原文出处

    本文章博客地址:https://blog.csdn.net/qq21497936/article/details/111876926

    长期持续带来更多项目与技术分享,咨询请加QQ:21497936、微信:yangsir198808

    红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

    Qt开发专栏:三方库开发技术

    前言

      Qt使用一些压缩解压功能,选择libzip库,libzip库比较原始,也是很多其他库的基础支撑库。

    libzip

    libzip是一个C库,用于读取,创建和修改zip档案。可以从数据缓冲区,文件或直接从其他zip归档文件直接复制的压缩数据中添加文件。在不关闭存档的情况下所做的更改可以还原。

    当前版本是1.7.3,于2020年7月15日发布。

    官网:https://libzip.org/

    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

    若该文为原创文章,转载请注明原文出处

    本文章博客地址:https://blog.csdn.net/qq21497936/article/details/111876926

    相关文章

      网友评论

          本文标题:libzip开发笔记(一):libzip库介绍、编译和工程模板

          本文链接:https://www.haomeiwen.com/subject/ngjkoktx.html