VS源码编译QuaZip

2019-09-10 15:58栏目:澳门萄京官网
TAG:

多年来写个Qt demo,想要使用压缩和平消除压四个公文的效应,并不选拔额外进度。网络参谋了广大材质,发现独有QuaZip相比吻合本人的须求。不过QuaZip只提供源码,因而供给本人来编写翻译。

QuaZip简介

QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that can be used to access ZIP archives. It uses the Qt toolkit.

轻易的话,QuaZip正是zlib(解压缩软件)的Qt封装类,在Qt开荒境况中十二分好用。

感想

  1. 数不尽开源软件对windows系统的援助不是很好,就好像QuaZip,假若您用zlib源码一齐编写翻译,那会更蛋疼。
  2. 开软乎乎件的爱戴更新是第一次全国代表大会首要难题,下边十二分bug实际樱笋时经存在9年了,从来尚未拿走修改。

编译步骤

  1. 在VS中下载Qt插件(全名Qt Visual Studio Tools)并安装,安装后安顿下插件使用的Qt版本。
  2. 在sourceforge官网下载QuaZip源码,并解压缩。
  3. 用插件展开QuaZip解压缩目录下quazip子目录中的quazip.pro工程文件(VS会提醒重新生成配置文件,选用“是”)。
  4. 下载zlib的源代码,并解压缩。
  5. 在VS项目性质中增多解压后的zlib源文件,具体请百度。
  6. 至关重要来了,用VS打开zconf.h文件,并将:

    #if 1           /* HAVE_UNISTD_H -- this line is updated by ./configure */
    #  include <sys/types.h> /* for off_t */
    #  include <unistd.h>    /* for SEEK_* and off_t */
    #  ifdef VMS
    #    include <unixio.h>   /* for off_t */
    #  endif
    #  define z_off_t off_t
    #endif
    

    这几行替换为以下代码:

    #ifdef HAVE_UNISTD_H
    #include <sys types.h=""> / for off_t /
    #include <unistd.h> / for SEEK_ and off_t */
    #define z_off_t off_t
    #endif
    

    那是因为windows下并未有unistd.h那个文件,那是类unix系统才有的。

  7. 顺遂编写翻译通过,生成动态链接库。

版权声明:本文由澳门萄京官网最大平台发布于澳门萄京官网,转载请注明出处:VS源码编译QuaZip