您的位置:首页 > 其它

windows上编译zlib-1.2.8

2016-06-07 14:15 330 查看
MSVC编译

  使用VS(x86)命令行工具进入到zlib根目录,执行 nmake -f win32/Makefile.msc ,在根目录下生成:zlib.lib(静态库)  zdll.lib(动态库的导入库)  zlib1.dll(动态库) 。必要的头文件有zlib.h和zconf.h

 

MingW编译

  进入到MinGW编译器目录中,运行mingwvars.bat批处理设置编译环境。

  进入到zlib目录,然后用make命令执行,既可编译出动态库zlib1.dll,libz.dll.a导入库,以及静态库libz.a。
  mingw32-make -f win32/makefile.gcc

使用zliblib,在链接时出现错误,时而是LNK2001,提示和msvcrt冲突,时而是LNK2005提示未决的符号错误。摸索了一上午终于搞定了如何使用zlib静态库和动态库。

一 使用静态库
在vc6下,需要把zlib.h、zconf.h和从zlib工程中生成的zlib.lib文件放到你的代码目录下,并且设置项目属性:project->settings->link->category选择input,在library
modules中的最后面输入一个空格和zlib.lib,在lgnore libraries输入MSVCRT(否则这个默认库和zlib库会有冲突),然后project-> settings-> c/c++->Category中选择Code   generation,在Use   run-time   Library中选择Debug Multithreaded DLL
如果library
modules中输入zlib.lib了,那么在代码中添加
#include "zlib.h"即可,否则还要加入下面这句
#pragma
comment( lib, "zlib.lib")

二 使用动态库
同样,把zlib.h、zconf.h和从zlib工程中生成的zlib1.lib和zlib1.dll复制到自己的源程序文件夹中,代码中添加
#include "zlib.h"
#pragma comment( lib, "zlib1.lib")

推荐第二种方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: