如何将zlib添加到现有的qt安装中

时间:2010-10-23 06:10:37

标签: c++ qt zlib

如何将zlib添加到Qt的现有安装中。我在这里很新,所以请给我详细说明! 感谢您的帮助!

4 个答案:

答案 0 :(得分:11)

zlib包含在核心Qt库中。如果要在Qt程序中使用zlib函数,则只需要包含src / 3rdparty / zlib中的zlib.h。参见例如在src / corelib / tools中实现QByteArray。

如果您想使用quazip,只需将库添加到您的项目中即可。它基于Qt库。注意构建与Qt安装相对应的正确qyazip库。

通过将以下行添加到项目文件中,可以获得正确的包含路径:

INCLUDEPATH += $$[QT_INSTALL_PREFIX]/src/3rdparty/zlib

对于Qt5,请参阅Thorbjørn的评论:使用#include <QtZlib/zlib.h>就足够了。

答案 1 :(得分:7)

如果要使用zlib进行压缩/解压缩,请使用qCompress/qUncompress

答案 2 :(得分:7)

目前的答案仅对Qt4有效。从Qt5开始,zlib头文件存储在不同的目录中。使用qmake属性QT_INSTALL_HEADERS,您可以添加到.pro文件中:

INCLUDEPATH += $$[QT_INSTALL_HEADERS]/QtZlib

这有效,例如如果你把它添加到quazip.pro

,建立quazip

属性$$[QT_INSTALL_HEADERS]指向QTDIR/qtbase/include/,其中包含QtZlib / zlib.h。

在不更改includepath的情况下,您必须将每个include语句更改为#include <QtZlib/zlib.h>,如Thorbjørn所评论。

答案 3 :(得分:2)

至少有些人想要构建Quazip,这需要zlib。

以下是我使用quazip 0.4.3在Windows上进行的操作。

首先在quazip.pro中,我将SUBDIRS更改为仅包含:

SUBDIRS=quazip

然后我从以下网址下载了zlib二进制文件和源代码: http://www.winimage.com/zLibDll/zlib125dll.zip [二进制文件] http://www.winimage.com/zLibDll/zlib125.zip [来源]

这两个链接来自http://zlib.net

然后在子文件夹quazip / quazip.pro中我添加了:

INCLUDEPATH += <path to zlib source>
在win32 {}部分中的

我评论了这一行:

#  *-msvc*: QMAKE_LFLAGS += /IMPLIB:$$DESTDIR\\quazip.lib

我将LIBS行修改为:

*-msvc*: LIBS += -lzlibwapi -L<path to zlib binaries>/dll32

我还在zip.c和unzip.c中修改了

#include "zlib.h"

成为:

#include <zlib.h>

之后我将其构建为Release模式并获得了DLL。

然后在项目中使用它,我添加了以下配置:

INCLUDEPATH += <quazip source path>
INCLUDEPATH += <zlib source path>

LIBS += -L<quazip source path>\quazip\release -lquazip

并且构建和工作,但仅在测试应用程序的发布模式下。在调试模式下,我得到断言错误并且失败。