zoukankan      html  css  js  c++  java
  • zlib1.2.11静态库使用

    1.打开VS2013,为了测试的便捷,我们新建Win32控制台程序,且项目名称为zlibTest;

    2.为了项目的直观,选中如图三个文件,右键移除,点击删除。你可以不必这么做,只是测试;

    3.将已编译生成的zlib1.2.11静态库zlibstat.lib与头文件zconf.h / zlib.h(zlib1.2.11静态编译),一起放入新建的文件夹CommonFiles,移动到与工程同级目录(你可以放置到喜欢的地方);

    4.VS2013解决方案,选择工程名zlibTest,右键属性,我们修改输出目录与工作目录为....in(勿忘记最后的),方便调试与直接运行EXE(你可以按照自身的习惯修改);

    5.VS2013解决方案,头文件右键,选择现有项。将CommonFiles里面的头文件zconf.h / zlib.h加入工程,且在调用zlib函数的.cpp或者.h文件,使用C调用约定#include包含zlib.h文件(zconf.h不用包含);

    6.VS2013解决方案,右键属性,链接器,附加依赖项,编辑加入....CommonFileszlibstat.lib;

    6.1亦可以使用#pragma comment(lib, "..\..\CommonFiles\zlibstat.lib"),你选择喜欢的方法;

    7.至此,我们使用zlib1.2.11静态库的环境已经搭好了,过程可以简略很多,仅为了方便初学者。让我们一起调用zlib官方的例子试试吧!

    8.好事多磨,不是吗?。链接器报错说_compress与 _uncompress函数不认识。我们需要在VS2013解决方案,右键属性,C/C++,预处理器定义,加入宏ZLIB_WINAPI,现在再编译链接试试;

    9.成功了,两个警告,一个是zlib官方例子使用strcpy,微软提示strcpy_s安全点;还有一个是LIBCMT冲突,可以在VS2013解决方案,右键属性,链接器,输入,忽略特定默认库,编辑加入LIBCMT.lib,我们再重新生成项目看看;

    10.执行EXE,成功压缩与解压缩。

    11.使用zlib静态库,提示error LNK2026: 模块对于 SAFESEH 映像是不安全的。可以在VS2013解决方案,右键属性,链接器,命令行,加入/SAFESEH:NO,重新编译链接生成EXE;

    12.使用zlib静态库,编译生成文件,提示warning LNK4099: 未找到 PDB“vc120.pdb”(使用“zlibstat.lib(adler32.obj)”...) ...,请将zlib1.2.11静态编译中的第12步,生成的vc120.pdb调试信息,拷贝到工程bin目录或者公共文件CommonFiles目录,重新编译链接生成EXE就好了(请保证vc120.pdb与zlibstat.lib是同时生成的,.调试信息需要对应);

    拷贝vc120.pdb之后,重新生成,无warning LNK4099;

    13.发布Release版本,上方有的操作,需要重复。你可以根据编译器或者链接器提示的错误,决定如何做。

  • 相关阅读:
    python split的用法
    大学排名爬虫
    一直在报错:ModuleNotFoundError: No module named 'bs4'.
    微信小程序部署到线上环境
    mybatis关联三张表查询对应字段名
    WPF图像裁剪控件
    git创建标签并推送到远程
    Windows7、10的热键屏蔽
    WPF使用SVG简单整理
    Visual Studio 注册码和下载
  • 原文地址:https://www.cnblogs.com/yangjinbang/p/8331381.html
Copyright © 2011-2022 走看看