Использование zlib в вашем коде чрезвычайно просто, что документация (или различные ответы о stackoverflow, которые я нашел) не делает очевидными.
Следующая методика работает для любого компилятора и IDE.Я протестировал его в Windows MINGW, используя код: блоки, поэтому я публикую его в качестве ответа на этот вопрос.
Загрузите исходный код zlib с http://www.zlib.net/
Скопируйте все файлы .c и .h из корневой папки исходного кода zlib в папку в пути поиска компилятора.
Добавьте исходные файлы zlib вПроект IDE.
Добавьте #include "zlib.h" в свой исходный код
Вызовите сжатие или распаковку
Вот и все.Это вряд ли может быть проще.
Все, что вы должны быть осторожны, это управление памятью, так как это код c.
Чтобы упростить для себя вещи, я собрал оболочку c ++, которую вы можете использовать, например:
<code>/** ZLIB C++ wrapper
Usage:
<pre>
#include "cZLIB.h"
{
// compress data in bigbuffer
raven::set::cZLIB ZLIB;
ZLIB.Compress( bigbuffer, sizebigbuffer );
// use compressed buffer, before ZLIB goes out of scope
use( ZLIB.Buffer(), ZLIB.Length() );
}
...
{
// decompress data in smallbuffer
raven::set::cZLIB ZLIB;
ZLIB.Inflate( smallbuffer, sizesmallbuffer )
// use decompressed data, before ZLIB goes out of scope
use( ZLIB.Buffer(), ZLIB.Length() );
}
Сборка: загрузите этот код (cZLIB.h и cZLIB.cpp).) из
https://github.com/JamesBremner/raven-set и установите где-нибудь в пути поиска компилятора.Предположим, вы установили его в папку ... / src.Загрузите исходный код zlib из
http://www.zlib.net/ Скопируйте все файлы .c и .h из корневой папки исходного кода zlib в новую папку ... / src / zlib Добавьте файлы cZLIB.h, cZLIB.cpp и всефайлы в ... / src / zlib для проекта IDE.Построить.* / класс cZLIB ...