天天看點

Quazip解壓縮檔案

  Quazip是Qt平台下面的一個壓縮解壓縮庫。Quazip編譯需要依賴zlib庫,前面已經講過windows系統編譯zlib—>windows系統編譯zlib。

  在已編譯zlib的基礎上,本文繼續來講Quazip的編譯以及測試工程中的解壓縮。大緻流程為:下載下傳Quazip源碼->編譯Quazip并生成庫->将頭檔案和生成的庫複制粘貼到測試工程檔案目錄中->修改測試工程的pro檔案并添加解壓縮測試代碼。

編譯quazip

  從官網下載下傳Quazip源碼壓縮包,官網位址:http://quazip.sourceforge.net/ 在官網可以看到它支援的平台以及下載下傳入口。

Quazip解壓縮檔案

  下載下傳壓縮包之後解壓,在quazip檔案夾下建立lib檔案夾,将之前zlib編譯生成的zlib1.dll庫複制粘貼進來。

[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-5AuhFHEO-1621995996135)(https://gitee.com/a-shu123/picture/raw/master/2021-5-24/1621854609799-1.png)]

  在quazip檔案夾下建立include檔案夾,将zlib中的頭檔案zlib.h以及zconf.h複制粘貼進來。

Quazip解壓縮檔案

  在Qt Creator中打開quazip檔案夾下的工程檔案,在pro檔案中加入以下代碼:

INCLUDEPATH += $$PWD/include
LIBS += -L$$PWD/lib -lzlib1
           

  即:

Quazip解壓縮檔案

  分别編譯Debug和Release,

Quazip解壓縮檔案

  編譯成功後,在生成的build-quazip-Desktop_Qt_5_9_1_MinGW_32bit-Release檔案夾的release下,會生成生成libquazip.a和quazip.dll庫。同樣,在生成的build-quazip-Desktop_Qt_5_9_1_MinGW_32bit-Debug檔案夾的debug下,會生成生成libquazipd.a和quazipd.dll庫。

Quazip解壓縮檔案

解壓縮測試

  建立測試工程,在測試工程檔案夾下,建立lib檔案夾,将Quazip剛才編譯生成的quazipd.dll、quazip.dll和zlib編譯生成的zlib1.dll庫複制粘貼進來;

Quazip解壓縮檔案

  建立include檔案夾,将quazip和zlib的頭檔案加進來;

Quazip解壓縮檔案

  Qt Creator打開測試工程,在pro檔案中添加庫檔案和頭檔案路徑,這裡要區分一下debug和release版本,代碼如下:

INCLUDEPATH += $$PWD/include
CONFIG(debug, debug|release) {
    LIBS += -L$$PWD/lib -lquazipd
} else {
    LIBS += -L$$PWD/lib -lquazip
}
           

  對于上面代碼CONFIG(debug,debug|release),它有兩個參數,第一個參數表示判斷debug是否為active,第二個參數表示為互斥選項的一個集合。

  引入解壓縮的頭檔案:

#include <JlCompress.h>
           

  解壓縮代碼:

JlCompress::extractDir("D:/down/test.zip", "D:/down/test");   //解壓
JlCompress::compressDir("D:/up/test.zip", "D:/down/test");    //壓縮
           

  編譯運作,解壓縮成功!

Quazip解壓縮檔案

原文首發公衆号:程式媛講QT。掃碼關注我吧~

Quazip解壓縮檔案

繼續閱讀