Russian Qt Forum
Ноябрь 22, 2024, 23:03
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Дополнительные компоненты
>
zip
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: zip (Прочитано 6688 раз)
sergek
Гипер активный житель
Offline
Сообщений: 872
Мы должны приносить пользу людям.
zip
«
:
Декабрь 09, 2012, 12:07 »
Коллеги, что посоветуете в качестве самого легкого решения для распаковки zip-архива? Переносимое для win и linux.
Нужно только распаковать (без лишних функций).
Записан
Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: zip
«
Ответ #1 :
Декабрь 09, 2012, 21:22 »
консольная программа zip вроде есть и там и там. а так — есть в сети какой-то QZipReader кажется.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
Re: zip
«
Ответ #2 :
Декабрь 09, 2012, 21:25 »
А qCompress и qUncompress не зипуют? Когда то вроде читал, что это и есть алгоритм зипа?
PS мб конечно это мой бред
Записан
sergek
Гипер активный житель
Offline
Сообщений: 872
Мы должны приносить пользу людям.
Re: zip
«
Ответ #3 :
Декабрь 09, 2012, 21:37 »
Цитировать
А qCompress и qUncompress не зипуют?
Нет. Это было бы славно.
Цитировать
Когда то вроде читал, что это и есть алгоритм зипа?
Да. И тем не менее, zip и zlib - разные вещи. Искал в сети решение по конвертации форматов, не нашел.
Цитировать
есть в сети какой-то QZipReader кажется
Вот я и склоняюсь к QZipReader. Этот класс включен в Qt, но недокументирован и может быть исключен в любой момент. Ладно, буду отгребать по мере поступления...
А так использовать просто - нужно только скопировать в каталог проекта qzipreader_p.h (даже не добавляя его в профайл, взять его можно из исходников) и в файле, где используется QZipReader, включить этот заголовочный файл. Недостаток в том, что разархивирование выполняется только в каталог, а хотелось бы в QByteArray.
И настораживает, что реализация находится в библиотеке libQtGui. Будет ли это работать в консольном приложении (можно ли будет подключить к нему эту либу)?
Записан
Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
vregess
Гость
Re: zip
«
Ответ #4 :
Декабрь 10, 2012, 07:01 »
QuaZip
же. Почему никто никогда ее не вспоминает?
Записан
sergek
Гипер активный житель
Offline
Сообщений: 872
Мы должны приносить пользу людям.
Re: zip
«
Ответ #5 :
Декабрь 10, 2012, 08:52 »
Я пробовал, для моей задачи слишком громоздко, к тому же, GPL. Мне всего-то нужно - получить от севера zip и распаковать. Прикручивать полноценную поддержку zip не хочется.
Записан
Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
fuCtor
Гость
Re: zip
«
Ответ #6 :
Декабрь 12, 2012, 18:16 »
Цитата: sergek от Декабрь 10, 2012, 08:52
Я пробовал, для моей задачи слишком громоздко, к тому же, GPL. Мне всего-то нужно - получить от севера zip и распаковать. Прикручивать полноценную поддержку zip не хочется.
Если не хочется брать целиком, то можно посмотреть как реализовано там и сделать свою реализацию (помнится там не сложно). Формально, думаю, все будет лицензионно чисто.
Записан
sergek
Гипер активный житель
Offline
Сообщений: 872
Мы должны приносить пользу людям.
Re: zip
«
Ответ #7 :
Январь 20, 2013, 17:59 »
Коллеги, по использованию QZipReader/Writer хотелось бы уточнить одну деталь.
При использовании модуля GUI, ничего не надо включать в проект - достаточно в каталог проекта положить файл qzipreader_p.h (или qzipwriter_p.h, в зависимости от того, что нужно), а в файле, где используется класс библиотеки, его включить include'ом, и все.
А вот если нужно консольное приложение (запустить гуёвое, например, cron'ом просто так не получится), тут интереснее - нужно включить в проект qzip.cpp, а рядом положить qzipreader_p.h, qzipwriter_p.h, zconf.h, zconf.h.in и zlib.h). Все очень хорошо работает под Linuxом, а в Windows приходится в заголовочных qzip...h заменять Q_GUI_EXPORT на Q_DECL_EXPORT.
Полчаса я потратил на изучение qglobal.h, но так и не понял, почему под виндами работает Q_DECL_IMPORT вместо Q_DECL_EXPORT. Может, нужно какое-нибудь макро определить? Кто подскажет?
Записан
Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...