VS源码编译QuaZip(Windows下)

日期:2019-09-14编辑作者:极品飞车官网

最近写个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就是zlibVS源码编译QuaZip(Windows下)。(解压缩软件)的Qt封装类,在Qt开发环境中非常好用。

编译步骤

  1. VS源码编译QuaZip(Windows下)。在VS中下载Qt插件(全名Qt Visual Studio Tools)并安装,安装后配置下插件使用的Qt版本。
  2. VS源码编译QuaZip(Windows下)。在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. 顺利编译通过,生成动态链接库。

感想

  1. 很多开源软件对windows系统的支持不是很好,就像QuaZip,如果你用zlib源码一起编译,那会更蛋疼。
  2. 开软软件的维护更新是一大重要问题,上面那个bug实际上已经存在9年了,一直没有得到修改。

本文由云顶国际登录官网发布于极品飞车官网,转载请注明出处:VS源码编译QuaZip(Windows下)

关键词:

ABP .Net Core 日志组件集成使用NLog

一、说明 NLog介绍和使用说明官网:http://nlog-project.org/ ABP .Net Core 日志组件集成使用NLog。ABP .Net Core 日志组件集成使用...

详细>>

使用nginx搭建高可用,高并发的wcf集群

  使用nginx搭建高可用,高并发的wcf集群。       很多情况下基于wcf的复杂均衡都首选zookeeper,这样可以拥有更好的...

详细>>

极品飞车官网macbookPro 搭建maven环境下载jar包

今天要用itext的jar包,去官方网站看发掘临近只可以用maven下载,而自个儿在此之前又换了Computer,不可能咯,重新搭...

详细>>

VS2015 安装nuget离线包nupkg文件

VS2015 安装nuget离线包nupkg文件。最近在做项目进度管理时,想通过安装VS2015 安装nuget离线包nupkg文件。VS2015 安装nuget离...

详细>>