延续:
Standalone Cross Platform (Windows/Linux)) File Compression for C/C++?
在对ZLIB ZZLIB LIBZIP MINIZIP进行多次尝试之后,我总是在编译阶段遇到很多问题.许多谷歌搜索发现了特定于操作系统的库,我找不到任何符合我“简单”需求的东西.
我减少了对库(或包装器?)的需求:
>适用于Windows和Linux或2个独立的库;一个在Windows上运行,另一个在Linux上工作,我可以为Windows和Linux制作两个独立的项目,如果它真的是必要的
>将文件从zip解压缩到指定目录
>检查zip文件中是否存在文件
> C或C或混合(是的,没关系)
>最好非常简单地包含在任何项目中
(例如5个c / cpp文件和1-3个头文件?反正不是吨文件,当我打开所有的libzip和zlib档案时,我有类似的东西:“我的……”)
我已经用“Windows Linux ZIP CC”检查了许多stackoveflow线程,但是所有结果看起来都是库,我或者不知道如何编译或者太难以使用或者它有太多“需要的东西”只需简单的zip提取并检查文件是否存在.
我把这个项目放在了以后的日期并立即开始,所有这些编译错误都出现了(特别是VC 2010没有C-99 inttypes.h)
解决方法:
我对Zipstream C库有很好的经验,它为你提供了一个很好的OOP方式来处理zip文件.
如果您的项目已经使用了一些像Boost这样的大型库,那么您可以尝试将boost :: iostreams与gzip过滤器一起使用,但功能在某种程度上是有限的.
或者,如果您碰巧使用Poco,请查看它们的实施Poco::Zip