zoukankan      html  css  js  c++  java
  • libzip开发笔记(一):libzip库介绍、编译和工程模板

     

    前言

      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.
    
     
     
     
  • 相关阅读:
    YOLO2 (2) 测试自己的数据
    Ubuntu 14.04服务器配置 (1) 安装和配置
    window10+linux双系统安装
    机械纪元 尼奥
    如何标数据
    usb-cam (3)摄像机标定文件-ORB-SLAM标定文件
    ORB-SLAM2(3) ROS下实时跑ORB_SLAM2
    usb-cam(1)安装
    usb-cam (2)摄像机标定
    Linux下的压缩zip,解压缩unzip命令详解及实例
  • 原文地址:https://www.cnblogs.com/qq21497936/p/14213714.html
Copyright © 2011-2022 走看看