1. 程式人生 > >[zlib] CMake + VS2015 下編譯zlib,及使用小例

[zlib] CMake + VS2015 下編譯zlib,及使用小例

根目錄 其中 1.2 計算 splay cde 並且 添加 compress

下載與解壓

可以到zlib官網 http://zlib.net/ 下載,這個沒有被墻的,如果下載,試一下換個網絡再訪問。因為我在公司的網絡是訪問不了的。

技術分享圖片

我當前使用的是 zlib1.2.11版本。

下載好後,解壓出來,看看根目錄下有一個CMakeLists.txt,就證明可以用CMake創建VS的工程了。

技術分享圖片

CMake創建工程

技術分享圖片

把source code和build the binaries的路徑設置後好,點擊【Configure】,出去的配置項中,需要看看其中包括了INSTALL的項目,路徑最好都改為VC路徑下;

若不修改,默認在安裝一步是會把lib、dll還有頭文件安裝到C盤中,後期使用的時候還需要手動添加這些路徑到工程裏去;

用CMake配置工程時,前提也要把安裝路徑添加到環境變量中的Path裏,不然CMake沒法查找到這個庫的路徑的。

所以為了方便,還是安裝在VC路徑最好。

這裏確認好後,就點擊【Generate】,基本不會出問題的,就點擊【Open Project】打開工程進行後面的步驟。

編譯與安裝

技術分享圖片

打開後,直接在【解決方案】上鼠標右鍵,再點【生成解決方案】,之前就是編譯過程,等待一會兒:

技術分享圖片

接著就是安裝,對其中的【INSTALL】項目,右鍵【僅用於項目】=>【僅生成INSTALL】就可以執行安裝操作了:

技術分享圖片

完成

技術分享圖片

小提示:

最好是把Debug和Release版本的都編譯安裝好,並且在後期不同的版本裏使用上對應版本的庫。

Debug版本:zlibd.lib zlibd.dll

Release版本: zlib.lib zlib.dll

頭文件是一樣的.

例程

main.cpp

技術分享圖片
 1 #include <stdio.h>
 2 #include <zlib.h>
 3 
 4 int main(int argc, char **args)
 5 {
 6     /*原始數據*/
 7     unsigned char strsrc[] = "這些是測試數據。123456789 abcdefghigklmnopqrstuvwxyz\n\t\0abcdefghijklmnopqrstuvwxyz\n
"; //包含\0字符 8 unsigned char buf[1024] = { 0 }; 9 unsigned char strdst[1024] = { 0 }; 10 unsigned long srclen = sizeof(strsrc); 11 unsigned long buflen = sizeof(buf); 12 unsigned long dstlen = sizeof(strdst); 13 int i; 14 FILE * fp; 15 16 printf("源串:"); 17 for (i = 0; i<srclen; ++i) 18 { 19 printf("%c", strsrc[i]); 20 } 21 printf("原串長度為:%ld\n", srclen); 22 23 printf("字符串預計算長度為:%ld\n", compressBound(srclen)); 24 //壓縮 25 compress(buf, &buflen, strsrc, srclen); 26 printf("壓縮後實際長度為:%ld\n", buflen); 27 //解壓縮 28 uncompress(strdst, &dstlen, buf, buflen); 29 30 printf("目的串:"); 31 for (i = 0; i<dstlen; ++i) 32 { 33 printf("%c", strdst[i]); 34 } 35 36 return 0; 37 }
View Code

例程用了一下別人寫的,很簡單的一個,就試運行一下。

[zlib] CMake + VS2015 下編譯zlib,及使用小例