使用zlib链接时出的错误总结

本文总结了在使用zlib库时遇到的三种常见链接错误及其解决方案。错误1是未正确链接zlib库,解决方法是在预处理器定义中添加'ZLIB_WINAPI'。错误2是由于SAFESEH设置不一致导致的,解决方式是关闭项目的'SAFESEH'选项。错误3是与libcmt库冲突,解决策略需要调整链接器设置。
摘要由CSDN通过智能技术生成

错误1

error LNK2019: unresolved external symbol _deflateEnd@4

原因1: 未使用zlib的链接库

解决:

#pragma comment(lib, "zlibstat.lib") // for static lib
#pragma comment(lib, "zdll.lib") // for dll lib

原因2:在使用静态库时即使包含了zlibstat.lib没有定义宏“ZLIB_WINAPI”

解决:
在项目属性中 C/C++ -> Preprocessor -> Preprocessor Definitions 添加“ZLIB_WINAPI”
注意:这个必须在项目中添加,使用#define来添加是无效的。

在 #include <zlib.h> 之前加上 #define ZLIB_WINAPI

#define ZLIB_WINAPI
#include <zlib.h>

 

错误2

error LNK2026: module unsafe for SAFESEH image

原因:两个项目SAFESEH设置不同

  • 解决:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值