Название: Инструкция по сборке QuaZIP (ZIP/UNZIP package) Отправлено: Владислав от Октябрь 22, 2013, 14:02 Надеюсь моя инструкция поможет научиться собирать и использовать QuaZIP ZIP/UNZIP package.
Она сделана на скорую руку, и для себя, но на мой взгляд, приоткроет путь для движения. http://turbobit.net/5ylfl3zozptr.html - выложил решение VS2008 с проверочным проектом и проектами библиотек QuaZIP и zlib. Инструкция по сборке QuaZIP - Qt/C++ wrapper for ZIP/UNZIP package (http://quazip.sourceforge.net/) для IDE VS2008 Владислав Хохряков 2014 г. 1) Собрать zlib: - Скачать и распаковать zlib-1.2.5: источник: http://www.winimage.com/zLibDll/index.html файл: Current version (1.2.5): zlib125.zip sources of zlib - Скачать и установить gui-CMake источник: http://www.cmake.org/cmake/resources/software.html файл: Windows (Win32 Installer) cmake-2.8.12-win32-x86.exe - В source code выбрать источник D:/qzip/zlib-1.2.5 - Создать пустую директорию для выодных файлов D:/qzip/zlib-1.2.5/pc_vs2008 - В were to buind выбрать директорию выодных файлов D:/qzip/zlib-1.2.5/pc_vs2008 - Нажать Configure, выбрать IDE-VS2008-к примеру и SDK - если попросит CMake Error at CMakeLists.txt:65 (message): You must remove D:/qzip/Test2/zlib-1.2.5/zconf.h from the source tree., то удалить zconf.h - После успешного результата надать Generate, и в .../pc_vs2008 окажутся файлы проекта для IDE (например для VS2008) - В IDE (например для VS2008) открыть проект из .../pc_vs2008, выбрать dll или lib и собрать его 2) Собрать quazip: скачать последнюю версию (http://sourceforge.net/projects/quazip/) quazip-0-5-1 собрать так-же как и zlib 3) В VS2008 cделать решение с проектом testzip QT и подключить к этому решению проекты quazip и zlib 4) Настроить проект zlib как .lib 5) Проверить работу можно используя следующий код (main.cpp в testzip): #include "testzip.h" #include <QtGui/QApplication> #include <QFile> #include <quazip/quazip.h> #include <quazip/QuaZipFile.h> #include <QDebug> int main(int argc, char *argv[]) { QApplication a(argc, argv); QuaZip zip("d:\\02a.zip"); zip.open(QuaZip::mdUnzip); QuaZipFile file(&zip); for(bool f=zip.goToFirstFile(); f; f=zip.goToNextFile()) { file.open(QIODevice::ReadOnly); //same functionality as QIODevice::readData() -- data is a char*, maxSize is qint64 //file.readData(data.data(),data.size()); //static_cast<QIODevice*>(&file)->readData(data2,200); //do something with the data qDebug() << file.getActualFileName(); file.close(); } zip.close(); return a.exec(); } Название: Re: Инструкция по сборке QuaZIP (ZIP/UNZIP package) Отправлено: Владислав от Октябрь 22, 2013, 14:27 Для пропаганды POCO:
Конечно, для ZIP/UNZIP можно использовать, например, красивый и удобный фреймворк POCO (http://pocoproject.org/docs/ZipUserGuide.html), но, если проект QT, то используя QuaZIP не нужно тратить время на собственные обёртки "не родных" классов. Название: Re: Инструкция по сборке QuaZIP (ZIP/UNZIP package) Отправлено: sergek от Октябрь 22, 2013, 16:41 Для mingw или в linux есть особенности?
Название: Re: Инструкция по сборке QuaZIP (ZIP/UNZIP package) Отправлено: navrocky от Октябрь 23, 2013, 10:42 Под linux вообще особенностей нет, ставишь devel пакет из репы.
С mingw всё то же самое, что и с MSVC. Насколько я помню, вроде бы можно использовать, zlib, идущий в комплекте с Qt. Я вообще воткнул исходники QuaZip к себе в cmake проект, и было достаточно сделать add_subdirectory(quazip). Нормально собирается под linux, mac, windows. Код: # Use system zlib on unix and Qt ZLIB on Windows |