打印
[PIC®/AVR®/dsPIC®产品]

如何在工程中调用zlib.h

[复制链接]
2059|58
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
CCCq33|  楼主 | 2023-4-4 10:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
有老大教教嘛   卡了好几天了  一直解决不掉

zlib.png (13.58 KB )

zlib.png

使用特权

评论回复
沙发
pzsh| | 2023-4-18 15:06 | 只看该作者
这是个什么库?

使用特权

评论回复
板凳
CCCq33|  楼主 | 2023-4-19 09:57 | 只看该作者
pzsh 发表于 2023-4-18 15:06
这是个什么库?

压缩用的

使用特权

评论回复
地板
wutaosamuel| | 2023-4-19 10:38 | 只看该作者
文件夹里有没有源文件 (*.h 和 *.c)?
或者文件夹里有没有二进制的库文件 (*.a/*.lib 或者 *.so/*.dll)?

使用特权

评论回复
5
CCCq33|  楼主 | 2023-4-19 14:17 | 只看该作者
wutaosamuel 发表于 2023-4-19 10:38
文件夹里有没有源文件 (*.h 和 *.c)?
或者文件夹里有没有二进制的库文件 (*.a/*.lib 或者 *.so/*.dll)?
...

需要调用的ZLIB  只有zlib.h的文件没有zlib.c文件     我用VS2019  生成了.LIB和.dll    之后要怎么操作呀   可以添加您的联系方式吗   

使用特权

评论回复
6
wutaosamuel| | 2023-4-19 15:00 | 只看该作者
编译器那边可以直接使用库。我也不太会,我去试试能不能用。
你工程用的是不是mplab?

使用特权

评论回复
7
CCCq33|  楼主 | 2023-4-19 15:09 | 只看该作者
wutaosamuel 发表于 2023-4-19 15:00
编译器那边可以直接使用库。我也不太会,我去试试能不能用。
你工程用的是不是mplab? ...

是的我的是mplab 5.50       可以用zlib.h的这个库吗

使用特权

评论回复
8
wutaosamuel| | 2023-4-19 15:27 | 只看该作者
你把.LIB和.dll打包上来,我试试看

使用特权

评论回复
9
CCCq33|  楼主 | 2023-4-19 15:30 | 只看该作者
嗯嗯

zlib.zip

96.64 KB

使用特权

评论回复
10
CCCq33|  楼主 | 2023-4-19 15:31 | 只看该作者
wutaosamuel 发表于 2023-4-19 15:27
你把.LIB和.dll打包上来,我试试看

嗯嗯我在下面发送了

使用特权

评论回复
11
CCCq33|  楼主 | 2023-4-19 15:38 | 只看该作者
这是官网上下载的库。上面的lib   和dll我是用VS2019生成的不知道正不正确

zlib1213.zip

1.56 MB

使用特权

评论回复
12
wutaosamuel| | 2023-4-20 10:34 | 只看该作者
本帖最后由 wutaosamuel 于 2023-4-20 10:35 编辑

这里有两个方法
第一个是直接导入源码,你的工程里就可以直接使用zlib.h。但是我这里缺少zlib的依赖库, 编译报错,你可以试试看
1. 添加文件夹:

2. 选择文件夹,就可以直接在工程中用



使用特权

评论回复
13
wutaosamuel| | 2023-4-20 10:38 | 只看该作者
或者可以用库文件,但是得看zlib支不支持你用的ic
1. 选择项目属性

2. 添加你的库,静态的.lib 或者共享库.dll,都可以

使用特权

评论回复
14
CCCq33|  楼主 | 2023-4-20 10:49 | 只看该作者
wutaosamuel 发表于 2023-4-20 10:38
或者可以用库文件,但是得看zlib支不支持你用的ic
1. 选择项目属性

我用 VS2019生成的LIB 和 DLL好像加进去是无法使用的

使用特权

评论回复
15
CCCq33|  楼主 | 2023-4-20 10:52 | 只看该作者
wutaosamuel 发表于 2023-4-20 10:34
这里有两个方法
第一个是直接导入源码,你的工程里就可以直接使用zlib.h。但是我这里缺少zlib的依赖库, 编 ...

依赖库是可以通过那个官网的解压包去生成的吗

使用特权

评论回复
16
CCCq33|  楼主 | 2023-4-20 10:55 | 只看该作者
alder32.c:计算数据流的Alder-32校验和,实现alder32()。
    crc32.h和crc32.c:计算数据流的CRC-32,实现crc32()。
    deflate.h和deflate.c:使用默认算法压缩数据,实现deflate函数簇。
    inflate.h和inflate.c:zlib的解压,实现inflate函数簇。
    compress.c:实现内存缓冲区的压缩,包括compress(), compress2(), compressBound()。
    uncompr.c:实现内存缓冲区的解压,包括uncompress()。
    gzguts.h和gzlib.c:读写gzip文件的通用实现,包括gzopen(), gzdopen(), gzbuffer(), gzrewind(), gzseek(), gztell(), gzoffset(), gzeof(), gzerror(), gzclearerr()。
    gzclose.c:实现gzclose()。
    gzread.c:读取gzip文件的实现,包括gzread(), gzgetc(), gzungetc(), gzgets(), gzdirect(), gzclose_r()。
    gzwrite.c:写gzip文件的实现,包括gzwrite(), gzputc(), gzputs(), gzprintf(), gzflush(), gzsetparams(), gzclose_w()。
    infback.c:使用回调接口实现解压,包括inflateBackInit(), inflateBack(), inflateBackEnd()。
    zutil.h和zutil.c:zlib库用到的工具函数。包括zlibVersion(), zlibCompileFlags(), zError()。
    zlib.h:zlib库导出的接口描述文件,应用程序使用zlib库时需要本文件。
    zconf.h:zlib库的编译配置文件,如果编译时需要给所有库函数加上唯一的前缀,或者需要针对不同平台作特殊编译,需要用到本文件。还包括标准 C/C++兼容性定义;编译成DLL时是否使用WINAPI/WINAPIV调用方式;类型定义Byte,uInt, uLong, voidpf等。
    inftrees.h和inftrees.c:为有效的解码生成Huffman树。   
    trees.h和trees.c:使用Huffman编码输出压缩的数据。
    inffixed.h:使用固定编码压缩。
    inffast.h和inffast.c:快速解压数据。


这个是关于他解压包里的一些说明

使用特权

评论回复
17
wutaosamuel| | 2023-4-20 11:26 | 只看该作者
依赖库我就不清楚了。你vs生成的库是根据x86指令集和windows,只能用在windows下,你要用在你的mcu的话需要交叉编译,可能使用源文件比较方便。
我怀疑那些依赖库是需要硬件指令集和系统库函数的,这个库可能不支持你的mcu
比如它的CRC需要ARMv8的指令集

再比如,他的gzdopen函数不支持 RISCOS 和 BEOS 两个系统


使用特权

评论回复
18
CCCq33|  楼主 | 2023-4-20 13:05 | 只看该作者
wutaosamuel 发表于 2023-4-20 11:26
依赖库我就不清楚了。你vs生成的库是根据x86指令集和windows,只能用在windows下,你要用在你的mcu的话需要 ...

感谢大佬答疑!!!

使用特权

评论回复
19
wwppd| | 2023-5-11 15:38 | 只看该作者
将一个.lib文件加入到工程中              

使用特权

评论回复
20
janewood| | 2023-5-11 16:12 | 只看该作者
调用写好的子程序?               

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

78

帖子

0

粉丝