[zlib] CMake + VS2015 下編譯zlib,及使用小例
阿新 • • 發佈:2019-04-22
根目錄 其中 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\nView Code"; //包含\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 }
例程用了一下別人寫的,很簡單的一個,就試運行一下。
[zlib] CMake + VS2015 下編譯zlib,及使用小例