как добавить zlib в существующую установку qt - PullRequest
13 голосов
/ 23 октября 2010

Как я могу добавить zlib к существующей установке Qt.Я новичок в этом, поэтому, пожалуйста, дайте мне подробное описание!Заранее спасибо за помощь!

Ответы [ 4 ]

11 голосов
/ 25 октября 2010

zlib содержится в основных библиотеках Qt.Если вы хотите использовать функции zlib в программе Qt, вам нужно только включить zlib.h, который находится в src / 3rdparty / zlib.См., Например, реализацию QByteArray в src / corelib / tools.

Если вы хотите использовать quazip, просто добавьте библиотеку в ваш проект.Он основан на библиотеках Qt.Постарайтесь собрать правильную библиотеку qyazip, соответствующую вашей установке Qt.

Вы получите правильный путь включения, добавив следующую строку в файл проекта:

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

Для Qt5 смотритеКомментарий Торбьерна: достаточно использовать #include <QtZlib/zlib.h>.

7 голосов
/ 17 апреля 2014

Текущий ответ действителен только для Qt4.Начиная с Qt5, заголовочный файл zlib хранится в другом каталоге.Используя свойство qmake QT_INSTALL_HEADERS, вы можете добавить в свой .pro-файл:

INCLUDEPATH += $$[QT_INSTALL_HEADERS]/QtZlib

Это работает, например, для сборки quazip, если вы добавляете его в quazip.pro

Свойство $$[QT_INSTALL_HEADERS] указывает на QTDIR/qtbase/include/, внутри которого находится QtZlib / zlib.h.

Не изменяя includepath, вы должны изменить каждый оператор включения на #include <QtZlib/zlib.h>, как прокомментировал Турбьёрн.

7 голосов
/ 23 октября 2010

Если вы хотите использовать zlib для сжатия / распаковки, используйте qCompress / qUncompress .

2 голосов
/ 30 декабря 2011

По крайней мере, некоторые люди здесь хотят создать Quazip, для которого требуется zlib.

Вот как я это сделал на Windows с Quazip 0.4.3.

Сначала в quazip.pro я изменилSUBDIRS должен содержать только:

SUBDIRS=quazip

Затем я загрузил двоичные файлы zlib и источник из: http://www.winimage.com/zLibDll/zlib125dll.zip [binaries] http://www.winimage.com/zLibDll/zlib125.zip [source]

обе ссылки пришлииз 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

И это строит и работает, но только в режиме Release для тестового приложения.В режиме отладки я получаю ошибки утверждения, и это не удается.

...