编译和使用zlib
来源:互联网 发布:2017最火的中文编程 编辑:程序博客网 时间:2024/06/06 08:41
由于要弄一个项目,在windows下用到zlib库,现成的库都是release版本的,如果项目是debug的就会导致一大堆符号错误,无奈只得自己重新编译zlib库。
首先下载 源码和工程文件
解压到某个目录
开启VS2010 的命令行 32bit
进入到zlib-1.2.5\contrib\masmx86目录
执行bld_ml32.bat
打开工程项目zlib-1.2.5\contrib\vstudio\vc10\zlibvc.sln
编译整个solution(包括 debug 和 Release)
此时已经得到了4个文件 zlibwapi.dll zlibwapi.lib zlibwapid.dll zlibwapid.lib
其中 lib 文件是连接期间用到的,dll文件是运行时候用到的。还有两个头文件 zconf.h zlib.h
是在编译期间用到。关于lib 和dll 关系和区别可见链接。
把得到的lib文件放在VS工程目录下,在 属性 -> 连接器 -> 输入 -> 附加依赖项
一栏里面把刚才得到的lib文件加进去,注意末尾带有 d 的表示debug版。
此时编译,链接依然有错:
error LNK2019: 无法解析的外部符号 _compress
在 VS 2010 下通过 dumpbin 命令查看lib导出函数 :
dumpbin /exports XXX.lib
可以看到 有compress 的导出。
ordinal name 1 _adler32@12 140 _adler32_combine@12 39 _compress2@20 2 _compress@16
经过网上查询,发现是要在vs2010的WIN32环境下加入 ZLIB_WINAPI的宏定义才行:
#define ZLIB_WINAPI#include "zconf.h"
注意这个宏定义要加在 zconf.h 包含之前,如果加载了 zconf.h 之后也不行。
此时编译一切顺利。
参考链接
0 0
- 编译和使用zlib
- 如何编译和使用zlib
- zlib的编译和使用
- Visual studio中编译和使用libpng和zlib
- Visual studio中编译和使用libpng和zlib
- Visual studio中编译和使用libpng和zlib
- Windows下zlib和libPng库的编译及使用
- VS 编译libpng和zlib
- 交叉编译libpng和zlib
- zlib安装和使用 linux
- 理解和使用zlib库
- Windows下zlib库和libPng库的编译和使用
- Windows下zlib库和libPng库的编译和使用
- Windows下zlib库和libPng库的编译和使用
- Windows下zlib库和libPng库的编译和使用
- Windows下zlib库和libPng库的编译和使用
- Windows下zlib库和libPng库的编译和使用
- Windows下zlib库和libPng库的编译和使用
- Git使用之SourceTree
- JAVA之旅(三)——数组,堆栈内存结构,静态初始化,遍历,最值,选择/冒泡排序,二维数组,面向对象思想
- mongodb的使用小结
- jquery md5加密
- 290. Word Pattern
- 编译和使用zlib
- SpringMVC +Spring+ SpringJDBC 整合 教程
- 为什么西汉“透光镜”会产生奇异的透光现象?
- 几种常见的搜索引擎检索模型
- 使用spring连接及操作mongodb3.0
- 获取系统的时间
- 一些必不可少的Sublime Text 2插件
- OC工程调用Swift方法
- UIWebView 的秘密