2011-02-26 38 views
0

我想写一个简单的Qt应用程序,它将访问zip文件并阅读这些zip文件的内容(内容是文本文件)。许多职位说Quazip是解决方案。Qt和zip文件

作为Qt新手,来自.Net背景,我真的不知道如何使用Quazip,我下载了Quazip源代码,但我不确定,应该编译它还是应该使用源代码在我的项目中。我真的不知道。

任何帮助,非常感谢。 此致敬礼。

回答

0

看起来你有不同的选择。您可以通过将相关文件复制到项目中来立即使用源代码。默认情况下,然而,当你运行

> make install 

,并在这种情况下,你需要到相关路径,以便发现是静态库添加到您的.pro文件静态库进行编译。

+0

它不再使用“staticlib”作为默认值。它也没有将它设置为DLL,所以使用了平台默认值,这意味着大多数平台的动态(共享)库。文档仍然提到静态库,但已经过时。 – 2011-02-26 08:16:41

+0

非常感谢fnokke和Sergey。但即时通讯仍然不知道下一步该怎么做,即时通讯非常抱歉,如果我要求在一个坚果壳答案:)但正如我所说的我是相当新的Qt。 – Deeb 2011-02-26 08:30:01

+0

@Deeb,那么现在就用第一个也是最简单的方法。将源添加到您的项目中,并将它们视为您项目的所有其他类。换句话说,只需将quazip子目录中的所有* .h,* .cpp,* .c文件复制到您的sources目录即可。 – 2011-02-26 08:35:15

0

好了,你有几种选择:

  • 只需将源添加到您的项目。优点:您可以在不影响其他项目的情况下修改它们。缺点:更新QuaZip可能会成为维护头痛。
  • 将其编译为静态库(qmake CONFIG+=staticlib)。优点:更新更容易,因为您不必处理结构更改,只需重新编译QuaZip并重建/重新链接项目。缺点:你仍然需要重新编译和重新链接。
  • 将QuaZip编译为共享(DLL)库。优点:更新非常简单,只要新版本保持二进制兼容性,并且代码在同一时间运行的各种应用程序之间共享。缺点:如果新版本不能保持二进制兼容性,它将会破坏所有内容(也就是说,直到你重建/重新连接你的应用程序)。

如果你只是需要阅读一些随机项目中的一些zip文件,这三者中的任何一个都可以。你可能不需要更新QuaZip,除非你发现一些需要修复的bug。

至于二进制兼容性:保证三级版本更改(x.y.z1 - > x.y.z2)是二进制兼容的。至于小版本的变化(x.y1 - > x.y2),它们在一段时间内可能不会是二进制兼容的,直到Pimpl成语正确实施。

+0

很多谢谢谢尔盖 – Deeb 2011-02-26 09:01:02