Пока этот вопрос старый и уже дан ответ, я отмечу новое потенциальное решение для тех, кто его находит.
Мне нужно было нечто очень похожее, портативную и очень маленькую библиотеку, которая создавала ZIP-архивы в потоковом режиме в C. Не найдя ничего подходящего, я создал ту, которая использует zlib, доступную здесь:
https://github.com/CTrabant/fdzipstream
Этот код зависит только от zlib и, по сути, обеспечивает простой интерфейс для создания ZIP-архивов. Что наиболее важно (для меня), выходной поток может быть передан в трубу, сокет, что угодно, поскольку выходной поток не должен быть доступным для поиска. Код очень маленький, один исходный файл и заголовочный файл. Работает на OSX и Linux и, вероятно, в других местах. Надеюсь, это поможет кому-то, кроме меня ...