如何使用7z SDK提取rar/zip文件(C++)?

6
我正在尝试编写一个小型的跨平台漫画阅读器(Qt / C ++)。我不在意已经存在的阅读器,我知道有一些。
我的问题是需要读取漫画书的格式,这些格式是重命名的rar和zip文件。
文档非常...不存在?没有“hello archive”文档。 如何设置这个?
如果假设我在任何特定的操作系统上可以使它更容易,那就这样做吧。我不断地在Kubuntu、OSX和Win7之间切换进行开发工作。

http://quazip.sourceforge.net/ - Marek R
2个回答

4

我一直在为7zip SDK开发一个简单的C++包装器,你可以在这里找到它。目前仅支持Windows以及我的特定需求,但是我很愿意进行一些修改或接受贡献。使用7z.dll,它可以在几行代码中提取7zip和Zip文件。由于DLL支持RAR,所以添加RAR不应该很困难。


你知道如何解决在SevenZip++上出现的“fatal error C1900: Il mismatch between 'P1' version '20100826' and 'P2' version '20070207”错误吗? - Rookie
恐怕我不知道那个错误,但是通过搜索一些资料,它听起来可能是你的Visual Studio安装的问题。 - Chadwick

3

7z应该同时提供命令行版本和GUI版本的源代码,您可以深入了解这些内容并查看它们如何进行压缩,否则您可以使用unRar,看看是否有任何示例(不幸的是,由于我所在地区的下载被阻止,无法检查)。


在LMZA SDK中瞎探索了一下,我找到了这个:

ANSI-C LZMA解码器

~~~~~~~~~~~~~~~~~~~

请注意,ANSI-C代码的接口在LZMA SDK 4.58中已更改。如果您想使用旧的接口,可以从sourceforge.net网站下载LZMA SDK的先前版本。

要使用ANSI-C LZMA解码器,您需要以下文件: 1)LzmaDec.h + LzmaDec.c + Types.h

LzmaUtil / LzmaUtil.c是使用这些文件的示例应用程序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接