vs编译zlib生成动态链接库

Dev-C++里#include <zlib.h>,找不到这个库。直接下载和nmake编译失败,所以用visual studio 2019编译。

  • 1.下载安装vs2019
  • 2.下载zlib,去http://www.zlib.net/
    在这里插入图片描述
    下载完解压,我放在了F:\download\zlib-1.2.11
  • 3.用vs打开F:\download\zlib-1.2.11\contrib\vstudio\vc14\zlibvc.sln
  • 4.把菜单栏重的输出平台选择为x64,右键点击zlibvc选择properties(属性),选择Build Event(生成事件),点击Pre-Build Event(预先生成事件),会看到命令行又错误提示,点击该错误旁边的下拉按钮,点击编辑,将内容删掉,替换为
    cd F:\download\zlib-1.2.11\contrib\masmx64
    bld_ml64.bat
  • 5.重新右键点击zlibvc,重新生成,下图表示成功。成功之后vc14下会有一个x64文件夹,下面ZlibDllDebug下会有动态库zlibwapi.lib
    在这里插入图片描述
  • 6.导入库:做如下设置
    在这里插入图片描述
    在当前解决方案上右键-属性,添加各种信息(都不用带分号,直接添加)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 7.把F:\download\zlib-1.2.11\contrib\vstudio\vc14\x64\ZlibDllDebug\zlibwapi.dll拷贝到当前项目根目录下。比如我在zlib_test下建立控制台程序了,那就拷贝到
    在这里插入图片描述
  • 8.测试是否导入成功
#include <iostream>
#include <stdlib.h>
#include <string>
#include <zlib.h>
#include <zconf.h>

using namespace std;

int main(int argc, char* argv[]) {
 unsigned char szSrc[] = "test the compression and uncompression of zlib.";
 unsigned long nSrcLen = sizeof(szSrc);
 unsigned char szZip[1024] = { 0 };
 unsigned long nZipLen = 1024;
 compress(szZip, &nZipLen, szSrc, nSrcLen);
 unsigned char szUnZip[1024] = { 0 };
 unsigned long nUnZipLen = 1024;
 uncompress(szUnZip, &nUnZipLen, szZip, nZipLen);
 cout << "Src:" << szSrc << ", len:" << nSrcLen << endl;
 cout << "Zip:" << szZip << ", len:" << nZipLen << endl;
 cout << "UnZip:" << szUnZip << ", len:" << nUnZipLen << endl;
 system("pause");
 return 0;
}

在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
zlib是一个常用的压缩库,通过静态编译可以使得zlib库的功能在各种系统下都能正常使用,同时也减少了对于动态链接库的依赖。 静态编译zlib库需要使用makefile.msc文件。makefile.msc是一个用于Windows系统下的makefile文件,它包含了编译zlib库的相关指令和规则。 首先,我们需要下载zlib库的源代码,可以从官网或者其他资源获取。然后,将源代码解压到一个目录下。 接下来,我们需要打开makefile.msc文件,并根据自己的需求配置一些编译参数,比如指定编译器、目标平台等。可以根据makefile.msc文件中的注释进行相应的配置。 配置完成后,可以在命令行中进入到源代码所在的目录,并执行命令"nmake -f makefile.msc",开始编译zlib库。 在编译过程中,makefile.msc会根据配置的参数自动进行编译和链接,并生成静态链接库文件(通常是libzlib.a或者zlib.lib)。 编译完成后,我们可以在生成的目录中找到生成的静态链接库文件。将该文件复制到我们自己项目的目录中,并在项目中引用该静态链接库。 最后,编译我们的项目,并确保在编译过程中链接了zlib库。这样,我们就可以在我们的项目中正常使用zlib库的功能了。 总结来说,通过静态编译makefile.msc文件,我们可以将zlib库的功能嵌入到我们的项目中,使得我们的项目在不同的系统上都能正常使用zlib库。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值