[PIC®/AVR®/dsPIC®产品] 如何在工程中调用zlib.h

[复制链接]
3414|58
 楼主| CCCq33 发表于 2023-4-4 10:16 | 显示全部楼层 |阅读模式
有老大教教嘛   卡了好几天了  一直解决不掉

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
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)?
 楼主| 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    之后要怎么操作呀   可以添加您的联系方式吗   
wutaosamuel 发表于 2023-4-19 15:00 | 显示全部楼层
编译器那边可以直接使用库。我也不太会,我去试试能不能用。
你工程用的是不是mplab?
 楼主| CCCq33 发表于 2023-4-19 15:09 | 显示全部楼层
wutaosamuel 发表于 2023-4-19 15:00
编译器那边可以直接使用库。我也不太会,我去试试能不能用。
你工程用的是不是mplab? ...

是的我的是mplab 5.50       可以用zlib.h的这个库吗
wutaosamuel 发表于 2023-4-19 15:27 | 显示全部楼层
你把.LIB和.dll打包上来,我试试看
 楼主| CCCq33 发表于 2023-4-19 15:30 | 显示全部楼层
嗯嗯

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| CCCq33 发表于 2023-4-19 15:31 | 显示全部楼层
wutaosamuel 发表于 2023-4-19 15:27
你把.LIB和.dll打包上来,我试试看

嗯嗯我在下面发送了
 楼主| CCCq33 发表于 2023-4-19 15:38 | 显示全部楼层
这是官网上下载的库。上面的lib   和dll我是用VS2019生成的不知道正不正确

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
wutaosamuel 发表于 2023-4-20 10:34 | 显示全部楼层
本帖最后由 wutaosamuel 于 2023-4-20 10:35 编辑

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

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



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
wutaosamuel 发表于 2023-4-20 10:38 | 显示全部楼层
或者可以用库文件,但是得看zlib支不支持你用的ic
1. 选择项目属性

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| CCCq33 发表于 2023-4-20 10:49 | 显示全部楼层
wutaosamuel 发表于 2023-4-20 10:38
或者可以用库文件,但是得看zlib支不支持你用的ic
1. 选择项目属性

我用 VS2019生成的LIB 和 DLL好像加进去是无法使用的
 楼主| CCCq33 发表于 2023-4-20 10:52 | 显示全部楼层
wutaosamuel 发表于 2023-4-20 10:34
这里有两个方法
第一个是直接导入源码,你的工程里就可以直接使用zlib.h。但是我这里缺少zlib的依赖库, 编 ...

依赖库是可以通过那个官网的解压包去生成的吗
 楼主| 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:快速解压数据。


这个是关于他解压包里的一些说明
wutaosamuel 发表于 2023-4-20 11:26 | 显示全部楼层
依赖库我就不清楚了。你vs生成的库是根据x86指令集和windows,只能用在windows下,你要用在你的mcu的话需要交叉编译,可能使用源文件比较方便。
我怀疑那些依赖库是需要硬件指令集和系统库函数的,这个库可能不支持你的mcu
比如它的CRC需要ARMv8的指令集

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


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| CCCq33 发表于 2023-4-20 13:05 | 显示全部楼层
wutaosamuel 发表于 2023-4-20 11:26
依赖库我就不清楚了。你vs生成的库是根据x86指令集和windows,只能用在windows下,你要用在你的mcu的话需要 ...

感谢大佬答疑!!!
wwppd 发表于 2023-5-11 15:38 | 显示全部楼层
将一个.lib文件加入到工程中              
janewood 发表于 2023-5-11 16:12 | 显示全部楼层
调用写好的子程序?               
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

78

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部