我正在使用C++,Boost和Qt开发一个项目.我理解如何使用例如Qt中的qCompress()函数压缩单个文件和字节流.
如何压缩多个文件的目录,包括子目录?我正在寻找一个跨平台(Mac,Win,Linux)解决方案; 我宁愿不发动一堆新进程.
有没有一种标准方法可以将多个文件中的字节流组合成一个压缩存档,或者Boost iostream库中是否有可用的便捷功能或方法?
非常感谢您的帮助.
更新:QuaZip库看起来非常棒.下载包中的一个示例(在"tests"目录中)非常清楚地显示了如何压缩文件目录.
更新2:在我的Linux构建环境中完成此任务后,我发现QuaZip在Visual Studio编译器中根本不起作用.有可能解决所有这些编译器错误,但对任何看不起这条路径的人都要谨慎.
我找到了以下两个库:
ZipIOS ++.似乎是"纯粹的"C++.它们不会将Windows明确列为受支持的平台.所以我认为你应该自己试试运气.
QuaZIP.基于Qt4.其实看起来不错.他们明确列出了Windows(使用mingw).显然,它是[this]库的C++包装器.
啊,当然,我已经从这个 Qt邮件列表问题中删除了关于目录的压缩/解压缩的问题:)