zlib1.2.11静态编译
1.进入官网http://zlib.net/,下载且解压zlib1211.zip;
2. 打开已解压的zlib-1.2.11目录,找到win32文件夹
3.将Makefile.msc复制到上一层,也就是图2,未进入win32前的地方
4.打开VS2013命令行工具,使用cd命令进入zlib-1.2.11目录(第3步Makefile.msc所在的目录)
5.键入命令行:nmake /f Makefile.msc
6.回车执行
7.此时打开zlib-1.2.11目录,我们发现已经生成一系列文件。zlib静态库只需要zlib-1.2.11目录生成的三个文件,zlib.h / zconf.h / zlib.lib,但是请勿使用此时生成的zlib.lib,使用VS2013测试此时生成的zlib.lib静态库,使用函数uncompress,将一直断在汇编L_get_length_code_mmx.lib(亲身经历)。我们需要在VS2013将预处理器中ASMINF宏删除重新编译一份工程(不要着急,稍后就说怎么做)。那么,我们之前做的工作是否白费了呢?不是的。
9.zlib-1.2.11目录,进入contrib目录,再进入vstudio目录,选择你的VC版本目录,具体看对应的表,VS2013选择vc12目录;
VS 6.0 | VC6.0 |
VS 2002 | VC7.0 |
VS 2003 | VC7.1 |
VS 2005 | VC8.0 |
VS 2008 | VC9.0 |
VS 2010 | VC10 |
VS 2012 | VC11 |
VS 2013 | VC12 |
VS 2015 | VC14 |
10.打开zlibvc.sln,进入工程(再坚持一会,编译马上好),选择编译生成Release发布版(勿选择Debug)。再选中zlibstat,右键属性,配置属性,C/C++,预处理器,预处理器定义,编辑,删除ASMINF。
11.右键 zlibstat,重新生成。我们使用zlib.lib静态库,只要生成这一个就够了。也可以整个工程全部重新编译生成。
12.进入..\zlib-1.2.11\contrib\vstudio\vc12\x86\ZlibStatRelease,我们发现zlibstat.lib。此版本使用uncompress正常,无断在汇编L_get_length_code_mmx.lib的错误。
13.使用zlibstat.lib需要头文件,zlib.h与zconf.h。具体使用,我将写一篇随笔。
zlib1.2.11静态编译的更多相关文章
- libcurl-7.54.1附加zlib1.2.11的编译
手上有个小程序需要通过HTTP协议通信,选择了出名的libcurl作为支持库.由于网上的教程多是命令行编译,本人记性不好,比较讨厌记住一堆命令,因此折腾了一天通过VS对libcurl和zlib进行了编 ...
- Arm64架构下静态编译Nginx
这段时间,我一直忙于将 Rainbond 源码构建模块移植到 Arm64/aarch64 架构中.这一源码构建模块可以将指定代码仓库中包含的源码,拉取构建成为容器镜像,在各种容器平台中运行.目前支持的 ...
- C++ Qt 框架静态编译 操作记录
谁愿意写个程式出来之后还附带一堆DLL,尤其是名字如此明显的名字. 于是在网上看了看,是需要下载源代码然后进行编译的,但是看了看别人说的编译时间,长达几个小时,瞬间就感觉不想做了.因为我还需要抓紧时间 ...
- VS2010使用静态编译的qt库(Qt 5)
Qt 5引入了一种新的编写方式. Qt开发界面很方便,但发布程序就不那么方便了,你的把引用到的dll一起发布才行,要是能静态编译就好了,发布的时候只有一个exe多方便. 虽然以前为了方便,直接安装的q ...
- QT5静态编译教程,主要针对vs2012(渡世白玉)
QT5,VS2012静态编译,所有的库准备充分的话qwebkit也可以静态编译通过,但是我编译的版本使用中如果用了QWEBVIEW控件在连接时会出错. 注:我自己编译的环境是:win server 2 ...
- VS2010使用静态编译的qt库
Qt开发界面很方便,但发布程序就不那么方便了,你的把引用到的dll一起发布才行,要是能静态编译就好了,发布的时候只有一个exe多方便. 虽然以前为了方便,直接安装的qt-windows-opensou ...
- c++11 静态断言
c++11 静态断言 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #includ ...
- SpiderMonkey js引擎的静态编译与使用, SpiderMonkey的使用
SpiderMonkey js引擎的静态编译与使用 2017年10月02日 02:51:22 yaolixing01 阅读数:536 原文出处: http://yaolixing.oltag.co ...
- Win7下静态编译QT5.12源码
官方参考文档:https://doc.qt.io/qt-5/build-sources.html CSDN博客:https://blog.csdn.net/GG_SiMiDa/article/deta ...
随机推荐
- css:background-position > 精灵技术
background-position : length || length background-position : position || position 取值: length : 百分数 ...
- [置顶]
Xamarin android中使用signalr实现即时通讯
前面几天也写了一些signalr的例子,不过都是在Web端,今天我就来实践一下如何在xamarin android中使用signalr,刚好工作中也用到了这个,也算是总结一下学到的东西吧,希望能帮助你 ...
- ArcGIS API for JavaScript 4.2学习笔记[13] Layer的弹窗(PopupTemplate)
上一篇文章中讲到Popup是一个弹窗,是View对象的默认内置弹窗,并且在View对象构造时就顺便构造了. 那么这个PopupTemplate是什么呢? 后半截单词Template是"模板& ...
- sort 命令详解
sort 作用:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序 参数: -b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照顺序排序. -d 排序时,处理英文字 ...
- shader 2 : use shaderToy in unity
shadertoy 原型,https://www.shadertoy.com/view/XslGRr 先说几个概念 Shader language目前有3种主流语言:基于OpenGL的GLSL(Ope ...
- 伽罗瓦域(有限域)GFq^12上元素的1→2→4→12塔式扩张(2)------第二次扩张
接上文https://www.cnblogs.com/heshuchao/p/8196307.html 继续探讨塔式扩张的第二部分,即1→2→4→12中2 → 4的元素扩张表示方式与计算公式推导. 3 ...
- 【转】教你开发jQuery插件
阅读目录 基本方法 支持链式调用 让插件接收参数 面向对象的插件开发 关于命名空间 关于变量定义及命名 压缩的好处 工具 GitHub Service Hook 原文:http://www.cnblo ...
- 房上的猫:JavaDoc注释
//这是一个注释 /* *这是一个演示程序 */ /** *@这是JavaDoc注释. */ JavaDoc注释 背景: javadoc是Sun公司提供的一个技术,它从程序源代码中抽 ...
- Java的静态代码块是否会在类被加载时自动执行?
JAVA静态代码块会在类被加载时自动执行? 一.先看Java静态方法,静态变量 http://www.cnblogs.com/winterfells/p/7906078.html 静态代码块 在类中, ...
- Go 语言编写单元测试
吾尝终日而思矣,不如须臾之所学也:吾尝跂而望矣,不如登高之博见也.登高而招,臂非加长也,而见者远:顺风而呼,声非加疾也,而闻者彰.假舆马者,非利足也,而致千里:假舟楫者,非能水也,而绝江河.君子生非异 ...