LINUX.ORG.RU

Ищу нормальную либу для работы с zip для c++11

 


1

6

Что нашел:

  • ziplib - мак не поддерживается, репозиторий заброшен, не умеет в cmake
  • libzippp - мак не поддерживается, мутная сборка, какие-то патчи под винду...
  • zipper - самый привлекательный, но не пробовал ещё

Кто что использует?

★★★★★

А в чём проблема к zlib интерфейс сделать? Или даже просто сишным обойтись, он, вроде, несложный был

XMs ★★★★★
()
Ответ на: комментарий от RazrFalcon

Велосипеды не нужны. Сишка тоже.

Небольшая RAII обертка над zlib - это не велосипед.

Meyer ★★★★★
()

Смысл пользоваться велосипедами с гитхаба?

Смотри, как я выбираю библиотеки:

1. Открываем свой менеджер пакетов.

2. Ищем по ключевым словам библиотеку для zip

3. В моём менеджере пакетов есть такие библиотеки:

vcpkg search zip
bzip2                1.0.6-2          High-quality data compressor.
libzip               1.4.0            A library for reading, creating, and modifying zip archives.
minizip              1.2.11-2         Zip compression library
protobuf[zlib]                        ZLib based features like Gzip streams
szip                 2.1.1-1          Szip compression software, providing lossless compression of scientific data
zziplib              0.13.62-1        library providing read access on ZIP-archives

Ещё так можно поискать

vcpkg search compression
blosc                1.13.5           A blocking, shuffling and loss-less compression library that can be faster tha...
brotli               1.0.2-1          a generic-purpose lossless compression algorithm that compresses data using a ...
fastlz               1.0-1            A lightning-fast lossless compression library
jbig2dec             0.13             a decoder library and example utility implementing the JBIG2 bi-level image co...
jbigkit              2.1-1            A software implementation of the JBIG1 data compression standard (ITU-T T.82)
libjpeg-turbo        1.5.3            libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NE...
liblzma              5.2.3-2          Compression library with an API similar to that of zlib.
libmspack            0.6              libmspack is a portable library for some loosely related Microsoft compression...
libtheora            1.2.0alpha1-2... Theora is a free and open video compression format from the Xiph.org Foundation.
libwebp              0.6.1-2          Lossy compression of digital photographic images.
lz4                  1.8.1.2          Lossless compression algorithm, providing compression speed at 400 MB/s per core.
lzo                  2.10-2           Lossless data compression library
minizip              1.2.11-2         Zip compression library
monkeys-audio        4.3.3            Monkey's Audio is an excellent audio compression tool which has multiple advan...
speex                1.2.0-4          Speex is an Open Source/Free Software patent-free audio compression format des...
szip                 2.1.1-1          Szip compression software, providing lossless compression of scientific data
x264                 152-e9a5903ed... x264 is a free software library and application for encoding video streams int...
zlib                 1.2.11-3         A compression library
zstd                 1.3.3            Zstandard - Fast real-time compression algorithm http://www.zstd.net

fsb4000 ★★★★★
()
Последнее исправление: fsb4000 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Спасибо аноним, ещё один поиск сделал

vcpkg search archive
chmlib               0.40-2           CHMLIB is a library for dealing with Microsoft ITSS/CHM format files. Right no...
libarchive           3.3.2-1          Library for reading and writing streaming archives
libzip               1.4.0            A library for reading, creating, and modifying zip archives.
physfs               2.0.3-2          a library to provide abstract access to various archives
zziplib              0.13.62-1        library providing read access on ZIP-archives

fsb4000 ★★★★★
()
Ответ на: комментарий от fsb4000

Открываем свой менеджер пакетов.
C++

/0

Ну что мы в этом списке нашли? Си либы, которые мне не нужны.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от RazrFalcon

Ну так и используй только ту часть poco, которая отвечает за zip. И линковаться соответственно не нужно со всеми либами из poco.

rumgot ★★★★★
()
Ответ на: комментарий от rumgot

Я с таким же успехом могу Qt или буст притащить. Если верить их сайту, то модуль zip не самодостаточный и зависит от каких-то частей poco.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от RazrFalcon

а переписывать всё на с++11 ты бесплатно будешь?

Harald ★★★★★
()
Ответ на: комментарий от RazrFalcon

А в чём проблема к zlib интерфейс сделать? Или даже просто сишным обойтись, он, вроде, несложный был

Велосипеды не нужны. Сишка тоже.

Малыш, ты в курсе что всё что ты принёс это обёртки к сишным либам?

d_a ★★★★★
()
Ответ на: комментарий от RazrFalcon

ziplib - нет.

Глянь в Source/ZipLib/extlibs/. Ну или просто make сделай и посмотри что оно компилит.

d_a ★★★★★
()
Ответ на: комментарий от Harald

лорчую. и на этом можно закрывать тред. как неадекватный.

Iron_Bug ★★★★★
()
Ответ на: комментарий от zamazan4ik

ну там же есть brew и другие менеджеры...

Сделать поиск, и выбирать из тех либ, которые есть одновременно и в vcpkg и в brew...

fsb4000 ★★★★★
()

Оказывается, C++ так крут, что для работы с zip все предпочитают использовать обертки над сишными либами. Но так ведь и на питоне можно делать.

Virtuos86 ★★★★★
()
Ответ на: комментарий от linuhs_user

Все? Уже даже для ядра нельзя?)

Кернел это большое и вонючее легаси. Его не перепишешь, значит, надо продолжать грызть кактус.

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

С++ крут тем, что совместим с С и сишные либы не надо переписывать

Harald ★★★★★
()
Ответ на: комментарий от Virtuos86

пользую zip либу в 10 строк на glsl

зачем остальные языки нужны не знаю

anonymous
()
Ответ на: комментарий от RazrFalcon

Как знаешь. Но думаю, ты зря видишь в этом проблему.

rumgot ★★★★★
()
Ответ на: комментарий от RazrFalcon

И эти люди рассказывают мне о наличии всех необходимых либ...

Хм, что-то мне подсказывает, что у тебя на острии есть моя цитата где я так и говорю :)

KennyMinigun ★★★★★
()

мак не поддерживается

Это кто тебе сказал? Формально он вообще поддерживается только единицами проектов, которым не повезло иметь среди разработчиков макофилов. Остальные даже не имеют возможности проверить поддержку своих проектов под эту проприетню, потому что она идёт только за бабки со своим мерзотным недожелезом. Но по факту это обычный unix, что там может не поддерживаться в коде никак не завязанным на системоспецифичные функции и GUI?

не умеет в cmake

Какое тебе дело до того чем собирается сторонняя либа? Либо она ставится штатным пакетным менеджером (в случае мака у которого даже это нет - macports или brew) и как она собирается ты даже не знаешь, а подключается стандартными find_*/pkg_find_*, либо ты её бандлишь и в любом случае переписываешь сборку.

А так-то ещё minizip и zziplib на слуху.

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

Что за бред?!

Нет. Либа не протестированная на маке может и не завестись.

Да. Cmake де-факто стандарт. Если автор не позаботился о cmake файле - это его вина.

Какие ещё ПМ?! Зачем мне устанавливать либу из двух файлов через ПМ, а не тягать с собой статически?

minizip и zziplib

Сишка, алло.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от RazrFalcon

Что за бред?!

А ты знал что можно воздержаться от тявка и просто ответить по существу?

Нет. Либа не протестированная на маке может и не завестись.

А может и завестись. Итого, «официальная поддержка мака» не критерий выбора библиотеки.

Да. Cmake де-факто стандарт. Если автор не позаботился о cmake файле - это его вина.

Не смотря на всю мою любовь к CMake - нет, не стандарт и нет, никто никакие cmake файлы делать не обязан. И по факту почти никто их не делает. Итого, «поддержка cmake» - не критерий выбора библиотеки.

Сишка, алло.

Напиши или найди обёртку, алло. Никто не будет переписывать готовую, отлаженную и обкатанную библиотеку на другом языке только чтобы она была на другом языке.

slovazap ★★★★★
()
Ответ на: комментарий от slovazap

Попробуйте прочитать то, что вам пишут. А то прямо разверзлись бездны. Оказывается никто не использует cmake. В интересном мирке вы живёте.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от RazrFalcon

Нет. Либа не протестированная на маке может и не завестись.

Вот ты и протестируй, если тебе нужно. И апстриму напиши о результатах

Да. Cmake де-факто стандарт. Если автор не позаботился о cmake файле - это его вина.

де-факто стандарт - autotools

Harald ★★★★★
()
Ответ на: комментарий от RazrFalcon

Плюсы требуются.

Уже давно написал бы обёртку на плюсах, если без них жить не можешь. В чём проблема? Библиотеки есть. Си прекрасно совместим с Си++.

aureliano15 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.