Портативная zip-библиотека для C/С++ (не приложение)
Я хочу иметь возможность заархивировать файлы из моего приложения для не-gui C/С++ в нескольких версиях Windows, Linux/Unix и MacOS.
Пользователь будет компилироваться и запускаться с помощью этого приложения, используя Eclipse + makefile или VisualStudio. Я не хочу, чтобы пользователю приходилось устанавливать что-то отдельно или иметь исполняемые файлы для makefile.
Предпочитаете open-source. Я уже смотрю "Zip 3.0"...
Ответы
Ответ 1
Взгляните на Libarchive. Я потратил много времени на поиск кросс-платформенной и лицензированной библиотеки LGPL с удобным интерфейсом. Это лучшее из всего, что я видел. Очень простой и мощный инструмент. Первоначально разработанный для Unix-подобных систем, но также версия Windows.
Ответ 2
У меня были отличные результаты с помощью miniz: https://code.google.com/p/miniz/
Для простого сжатия строк в c++ мне также очень нравится решение Timo Bingmann.
Ответ 3
Я бы рекомендовал ZipLib https://bitbucket.org/wbenny/ziplib/wiki/Home
Личные причины, по которым мне нравится этот проект:
- построено вокруг С++ 11 stl streams (например, распаковывается в stl-потоки!)
- легкий (без зависимостей, кроме zlib)
- может использоваться как в окнах, так и в liunx
Мне потребовалось много времени, чтобы найти этот проект - надеюсь, что это поможет кому-то.
Ответ 4
Мы использовали zlib пару раз здесь. Это довольно стандартная библиотека, которая имеет реализации на большинстве основных языков.
Ответ 5
Как насчет этого:
http://zziplib.sourceforge.net/
Ответ 6
http://www.info-zip.org/UnZip.html
НТН
Ответ 7
ZLIB - самая портативная библиотека в мире. с открытым исходным кодом, очень проверенный и надежный. Золотой стандарт.
зачем использовать что-нибудь еще?
Ответ 8
Другие упомянули zlib, что приятно и довольно легко.
7-Zip (LZMA) SDK является более сложным, но также имеет очень хорошие коэффициенты сжатия.
Изменить: Несмотря на то, что все еще в разработке, с процессом выпуска и истории с течением времени, я бы не решался рекомендовать это сейчас.