将Quazip编译成基于32位release版的库时报错的解决方案
创始人
2024-05-31 21:09:56

开发环境:Win10 + Qt5.9.9
注意:阅读本篇文章前,首先阅读Quazip的编译及使用,保姆级教程。
之前写了如何编译Quazip的库,当时是使用MSV2015-64-release来编译的,
具体编译流程可参考之前的文章Quazip的编译及使用,保姆级教程。

因为需求问题,现在要编译基于MSVC2015-32-release的Quazip库(也就是32位release的库)。
但是发现编译32位Quazip时一直报错,导致无法编译成功。
编译Quazip前,首先要编译zlib,首先我编译好了32位的zlib库了,这很简单,如下图所示。

在这里插入图片描述
接下来,按照之前编译64位时的步骤来编译Quazip库,此时便报了错,如下图所示。
在这里插入图片描述
之后企图用VS进行编译,后来一番倒腾,最终以失败告终。然后阅读了一篇文章,
函数调用约定,
再后来就解决了。

解决方案1

1. 编译zlib时,将zlibvc项目中的 ZLIB_WINAPT宏给去掉。然后重新编译生成32位的zlib相关库,如下图所示。
在这里插入图片描述
2. 最后将新生成的zlib库替换之前的,然后重新编译Quazip,如下图所示。
在这里插入图片描述
3. 此时编译Quazip,可看见Quazip的库已经生成了,如下图所示。
在这里插入图片描述

解决方案2

此方案是@福建兄弟萧海所提供,谢谢老弟@萧海的艰辛付出。
在编译zlibvc模块时首先修改zconf.h中的源码,将第347行 ~ 359行(ZLIB_WINAPI进行注释即可)。
在这里插入图片描述
此时重新编译生成zlibwapi.lib和zlibwapi.dll,接下来按流程炮制即可,发现quazip.lib和quazip.dll已经生成了,如下图所示。
在这里插入图片描述

相关内容

热门资讯

空军招飞录取考生综合素养稳步提... (来源:千龙网)新华社北京7月30日电(高玉娇、蒋华峰)记者从空军招飞局获悉,2026年空军招飞录取...
荆门市专题研究“一张图”“一网... 转自:荆门发布7月30日,市委书记陈家伟在市城市运行管理中心主持召开会议,听取市县两级“一张图”建设...
天生桥(外一首) □邓太忠 盘古开天的时候,你一直在加油 声浪像蜒绵的山峦 荡过神州,也飘过大海 而你躬身的岁月,如一...
巫山龙门复线桥 明年上半年建成... 7月28日,重庆市级重点民生工程巫山龙门复线桥完成全部钢拱肋吊装,攻克项目核心施工难点,为后续合龙及...
《重庆市预防未成年人犯罪条例》... 《重庆市预防未成年人犯罪条例》(以下简称条例)于2026年7月30日经市六届人大常委会第二十五次会议...