一. zlib下載編譯

一.下載

http://www.zlib.net/fossils/(網上找的各個版本都有)

二.編譯

我下載的是zlib-1.2.11,進入目錄zlib-1.2.11/contrib/vstudio/ 可以找到各個版本的解決方案文件,我用的是vc14zlib-1.2.11/contrib/vstudio/vc14/zlibvc.sln,打開

解決方案中包含6個工程。其中:

   (1). zlibvc生成動態鏈接庫zlibwapi.dll和對應的導入庫zlibwapi.lib

   (2). zlibstat生成靜態鏈接庫zlibstat.lib

   (3). testzlibdll測試生成的動態鏈接庫zlibwapi.dll

   (4). testzlib測試生成的靜態鏈接庫zlibstat.lib    

爲了兼容舊版本可以在解決方案中將zlibwapi.dl和zlibstat.dll改爲zlibdll

三.使用zlib靜態庫:zlibstat.lib

1. 包含頭文件

    屬性--C/C++--常規--附加包含目錄(添加包含.h文件的目錄)

2. 定義宏

    屬性--C/C++--預處理器--預處理器定義:添加 ZLIB_WINAPI ASMV ASMINF

3. 項目包含.lib文件所在的目錄:

    屬性--鏈接器--常規--附加庫目錄

4. 項目包含.lib文件

    屬性--鏈接器--輸入--附加依賴項(libstat.lib)

5. 項目代碼中  zlib.h和zlibconf.h

編譯生成.exe即可使用。

四.使用動態庫 zlibwapi.lib(zlibwapi.dll)

1. 包含頭文件

    屬性--C/C++--常規--附加包含目錄(添加包含.h的目錄)(zlib.h和zlibconf.h)

2. 定義宏

    屬性--C/C++--預處理器--預處理器定義:添加 ZLIB_WINAPI(缺少編譯會報錯,無法解析的外部符號 _compress,該符號在函數 ,這個宏定義在zlib是必要的)

3. 項目包含.lib文件所在的目錄:

    屬性--鏈接器--常規--附加庫目錄

4. 項目包含.lib文件

    屬性--鏈接器--輸入--附加依賴項(zlibwapi.lib)(zlib.lib我輸出的文件名)

5. 項目代碼中 #include "zlib.h"

編譯生成.exe文件需要.dll文件支持(動態加載)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章