如何将zlib添加到Qt的现有安装中。我在这里很新,所以请给我详细说明! 感谢您的帮助!
答案 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
并且构建和工作,但仅在测试应用程序的发布模式下。在调试模式下,我得到断言错误并且失败。