zoukankan      html  css  js  c++  java
  • 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与VC对应关系
    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.11contribvstudiovc12x86libStatRelease,我们发现zlibstat.lib。此版本使用uncompress正常,无断在汇编L_get_length_code_mmx.lib的错误。

    13.使用zlibstat.lib需要头文件,zlib.h与zconf.h。具体使用,我将写一篇随笔。

  • 相关阅读:
    web--ajax--json
    4.26
    4.25
    4.23
    4.22
    4.20
    4.19
    4.18
    4月问题总结章
    4.17
  • 原文地址:https://www.cnblogs.com/yangjinbang/p/8330786.html
Copyright © 2011-2022 走看看