Нужна библиотека ZIP с такими особенностями.
• Не нужна модификация файлов. Только создание с нуля, чтение и добавление.
• Не нужно шифрование.
• Нужны чтение и запись по потоковому принципу (можно без seek). То есть чтобы библиотека начала сжимать, нам не нужен файл, полностью подготовленный в памяти. Мы просто пишем в сжатый файл функциями типа fwrite — а она автоматически буферизирует и сжимает.
Пока попробовал libzip, и там всего этого нет. К тому же из-за необычных оптимизаций одну из функций libzip (добавить в архив файл, состоящий из нескольких буферов) сложно обернуть в Си++.
Для чего? — Прямая запись огромных XLSX. Разжатые XML могут занимать и сотни мегабайт.