我们可以为zlib编译两种版本,MINGW和VS。

zlib源码: http://www.zlib.net/

MINGW

先安装MINGW编译器

http://www.mingw.org/

如果有装MINGW编译版的Qt开发环境的话可以直接使用附带的MING编译器,路经一般是:QTDIR/Tools/mingw482_32/bin

将这个路径加入PATH中,也可以在CMD中用如下命令临时加入到PATH中(自行改为MINGW的正确路径)

设置好路径后,切换到zlib源码目录下执行如下命令就可以完成编译:

看到下面输出就大功告成了~

有用的文件

zlib.h                                         zlib的头文件,包含了所有zlib函数的生明

-    libz.a                                   用于静态链接的静态库

-    zlib1.dll                               动态链接的DLL

libz.dll.a                           动态链接所需要的导入库

同时生成的还有几个可执行文件

minigzip.exe                   静态编译的test/minigzip.c

minigzip_d.exe              动态编译的test/minigzip.c

用法:

* Usage: minigzip [-c] [-d] [-f] [-h] [-r] [-1 to -9] [files...]
* -c : write to standard output
* -d : decompress
* -f : compress with Z_FILTERED
* -h : compress with Z_HUFFMAN_ONLY
* -r : compress with Z_RLE
* -1 to -9 : compression level

example.exe                    静态编译的test/example.c

example_d.exe               动态编译的test/example.c

用法:

* Usage:  example [output.gz  [input.gz]]

 

VS2013 编译zlib

打开VS2013的 "VS2013 x86 本机工具命令提示", 在开始菜单->所有程序->Visual Studio 2013->Visual Studio Tools里可以找到

切换到zlib源码目录:

没有问题的话就编译成功了。由于命名约定不一样,VS版和MINGW版生成的文件名有点不同。

zlib.lib  对应  libz.a

zdll.lib   对应  libz.dll.a