最近寫個Qt demo,想要使用壓縮和解壓多個文件的功能,並不使用額外進程。網上參考了不少資料,發現只有QuaZip比較適合個人需求。可是QuaZip只提供源碼,所以須要本身來編譯。windows
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.app
簡單來講,QuaZip就是zlib(解壓縮軟件)的Qt封裝類,在Qt開發環境中很是好用。this
解壓縮目錄下
的quazip
子目錄中的quazip.pro
工程文件(VS會提示從新生成配置文件,選擇「是」)。重點來了,用VS打開zconf.h
文件,並將:.net
#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系統纔有的。
順利編譯經過,生成動態連接庫。unix