欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VS2017源码zlib编译

程序员文章站 2022-07-13 21:23:16
...

      先下载zlib源码,zlib官网:http://www.zlib.net/ 翻到官网下面可以看到zlib的下载链接

VS2017源码zlib编译

       windows平台可以下载zip或者tar.gz的文件,目前的版本是1.2.11,下面将提供3种编译方法。

 

一 命令行形式编译

       在开始菜单找到VS2017x64_x86交叉工具命令提示符,注意这样编译的32位的版本。跳转到zlib代码目录,如下:

VS2017源码zlib编译

       再输入:   nmake /f win32\Makefile.msc  按下回车键即可编译了。编译完成后就会生成  .lib和dll

 

二 批处理文件形式编译

       为了方便,可以使用批处理文件,写编译命令,以后编译直接双击就可以。在zlib源码的同级目录创建一个文件夹vs2017_zlib_sdk存放编译后的文件,新建一个zlib_VS2017_bild_32.bat文件

VS2017源码zlib编译

         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文件就可以了。例如编译后的文件:

VS2017源码zlib编译

 

三 源码形式编译

       源码路径如下:zlib-1.2.11\contrib\vstudio\vc14  , 还有vc12, vc11, vc14对应VS2015, 我用vs2017打开的,也可以编译通过,如下图。

VS2017源码zlib编译

有两个编译错误。

      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 键入“其它选项”框中,然后点击应用,确定。

如下图:

VS2017源码zlib编译

 生成6个解决方案即可。

 如果只是为了引用zlib的dll,lib,推荐使用bat批处理文件的形式。

 

 

 

相关标签: zlib