VS2017源码zlib编译
先下载zlib源码,zlib官网:http://www.zlib.net/ 翻到官网下面可以看到zlib的下载链接
windows平台可以下载zip或者tar.gz的文件,目前的版本是1.2.11,下面将提供3种编译方法。
一 命令行形式编译
在开始菜单找到VS2017x64_x86交叉工具命令提示符,注意这样编译的32位的版本。跳转到zlib代码目录,如下:
再输入: nmake /f win32\Makefile.msc 按下回车键即可编译了。编译完成后就会生成 .lib和dll
二 批处理文件形式编译
为了方便,可以使用批处理文件,写编译命令,以后编译直接双击就可以。在zlib源码的同级目录创建一个文件夹vs2017_zlib_sdk存放编译后的文件,新建一个zlib_VS2017_bild_32.bat文件
bat文件填入如下内容
@echo "start build zlib"
set VS="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsamd64_x86.bat"
set OUT=D:\DevLib\TestFile\vs2017_zlib_sdk
call %VS%
cd zlib-1.2.11
nmake /f win32\Makefile.msc clean
nmake /f win32\Makefile.msc
md %OUT%\lib
md %OUT%\bin
md %OUT%\include
copy /Y *.lib %OUT%\lib
copy /Y *.h %OUT%\include
copy /Y *.dll %OUT%\bin
copy /Y *.exe %OUT%\bin
@echo "zlib build end"
pause
代码说明:
md:表示创建目录
copy: 复制文件
以后编译,双击bat文件就可以了。例如编译后的文件:
三 源码形式编译
源码路径如下:zlib-1.2.11\contrib\vstudio\vc14 , 还有vc12, vc11, vc14对应VS2015, 我用vs2017打开的,也可以编译通过,如下图。
有两个编译错误。
x86\TestZlibDebug\testzlib.exe : fatal error LNK1281: 无法生成 SAFESEH 映像。
x86\ZlibDllDebug\zlibwapi.dll : fatal error LNK1281: 无法生成 SAFESEH 映像。
注意:zlibwapi.dll是zlibvc项目生成的。
解决办法:
1.打开该项目的“属性页”对话框。
2.单击“链接器”文件夹。
3.单击“命令行”属性页。
4.将 /SAFESEH:NO 键入“其它选项”框中,然后点击应用,确定。
如下图:
生成6个解决方案即可。
如果只是为了引用zlib的dll,lib,推荐使用bat批处理文件的形式。
上一篇: 树状数组求逆序对
下一篇: VS2017编译boost库
推荐阅读
-
Mac系统下源码编译安装MySQL 5.7.17的教程
-
Android笔记之:CM9源码下载与编译的应用
-
centos源码编译php5 mcrypt模块步骤详解
-
Ubuntu Docker 源码编译(1.9.1 )详解
-
解决Python源码编译时提示:ModuleNotFoundError: No module named ‘distutils.command‘
-
Qt最新版5.12.2在Win10环境静态编译安装和部署的完整过程(VS2017)
-
Ubuntu 17.04系统下源码编译安装opencv的步骤详解
-
华为方舟编译器正式开源:相关源码已开放下载
-
Centos7通过yum跟源码编译安装Nginx
-
修复反编译资源文件及批量修复程序源码