 \section{Overview}\label{index_overview}
QuaZIP is a simple C++ wrapper over {\tt Gilles Vollant's ZIP/UNZIP package} that can be used to access ZIP archives. It uses {\tt Trolltech's Qt toolkit}.

If you do not know what Qt is, you have two options:
\begin{DoxyItemize}
\item Just forget about QuaZIP.
\item Learn more about Qt by downloading it and/or reading excellent {\tt official Qt documentation}
\end{DoxyItemize}

The choice is yours, but if you are really interested in cross-\/platform (Windows/Linux/BSD/UNIX/Mac/Others) software development, I would definitely recommend you the second choice $^\wedge$\_\-$^\wedge$

QuaZIP allows you to access files inside ZIP archives using QIODevice API, and -\/ yes! -\/ that means that you can also use QTextStream, QDataStream or whatever you would like to use on your zipped files.

QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both reading from and writing to ZIP archives.\section{Download QuaZIP}\label{index_download}
Downloads are available from {\tt QuaZIP project's page at SourceForge.net}.\section{Platforms supported}\label{index_platforms}
QuaZIP has been currently tested with Qt 4.0.0 on the following platforms:
\begin{DoxyItemize}
\item linux-\/g++
\item freebsd-\/g++
\item hpux-\/acc
\item win32-\/g++ (MinGW)
\end{DoxyItemize}

No testing has been done on other systems. Of course, patches to make it work on any platform that it currently does not work on are always welcome!\section{What is new in this version of QuaZIP?}\label{index_whats-new}
See the NEWS file supplied with the distribution.\section{Requirements}\label{index_Requirements}
Just {\tt zlib} and Qt 4. Well, Qt 4 depends on zlib anyway.\section{Building, testing and installing}\label{index_building}
\begin{DoxyNote}{Note}
Instructions given in this section assume that you are using some UNIX dialect, but the build process should be very similar on win32-\/g++ platform too. On other platforms it's essentially the same process, maybe with some qmake adjustments not specific to QuaZIP itself.
\end{DoxyNote}
To build the library, run: \begin{DoxyVerb}
$ cd /wherever/quazip/source/is/quazip-x.y.z/quazip
$ qmake [PREFIX=where-to-install]
$ make
\end{DoxyVerb}


Make sure that you have Qt 4 installed with all required headers and utilities (not just library) and that you run qmake utility of the Qt 4, not some other version you may have already installed (you may need to type full path to qmake like /usr/local/qt4/bin/qmake).

To reconfigure (with another PREFIX, for example), just run qmake with appropriate arguments again.

If you need to specify additional include path or libraries, use qmake features (see qmake reference in the Qt documentation). For example:

\begin{DoxyVerb}
$ qmake LIBS+=-L/usr/local/zlib/lib INCLUDEPATH+=/usr/local/zlib/include
\end{DoxyVerb}
 (note abscence of \char`\"{}-\/I\char`\"{} before include path)

To check if QuaZIP's basic features work ok on your platform, you may wish to compile simple test programs provided in test directory. Look in the sources of the tests to find out about their requirements. Typically, the test looks something like this: \begin{DoxyVerb}
$ cd /wherever/quazip/source/is/quazip-x.y.z/test/zip
$ qmake
$ make
$ ./zip
$ cd ../unzip
$ cp ../zip/test.zip ./test.zip
$ mkdir out
$ qmake
$ make
$ ./unzip
\end{DoxyVerb}


You should see the zip contents with details as the output of the \char`\"{}./unzip\char`\"{}. Ignore message saying you should check the file name for testCase() if you do not want to test \doxyref{locale-\/aware case-\/insensitivity}{p.}{classQuaZip_a6053a1d249ed210a85c9d5eb7cf9cdbe}. Otherwise, see the sources. In any case, this message appearing means that everything else was fine. Otherwise, you will get some other error message instead. Investigate it or send bug report including message, platform and QuaZIP version used.

To install compiled library: \begin{DoxyVerb}
$ make install
\end{DoxyVerb}


By default, QuaZIP compiles as a DLL, but you have other options:
\begin{DoxyItemize}
\item Just copy appropriate source files to your project and use them, but you need to define QUAZIP\_\-STATIC before including any QuaZIP headers (best done as a compiler option). This will save you from possile side effects of importing/exporting QuaZIP symbols.
\item Compile it as a static library using CONFIG += staticlib qmake option. QUAZIP\_\-STATIC is defined automatically by qmake in this case.
\end{DoxyItemize}

Binary compatibility isn't guaranteed even between minor releases, but usually it's preserved, thanks to the Pimpl idiom.\section{Using}\label{index_using}
See \doxyref{usage page}{p.}{usage}.\section{Authors and contacts}\label{index_contacts}
This wrapper has been written by Sergey A. Tachenov, AKA Alqualos. This is my first open source project, so it may suck, but I did not find anything like that, so I just had no other choice but to write it.

If you have anything to say to me about QuaZIP library, feel free to do so (read the \doxyref{QuaZip FAQ}{p.}{faq} first, though). I can not promise, though, that I fix all the bugs you report in, add any features you want, or respond to your critics, or respond to your feedback at all. I may be busy, I may be tired of working on QuaZIP, I may be even dead already (you never know...).

To report bugs or to post ideas about what should be done, use SourceForge.net's {\tt trackers}. If you want to send me a private message, use my e-\/mail address {\tt stachenov@gmail.com}.

Do not use e-\/mail to report bugs, please. Reporting bugs and problems with the SourceForge.net's bug report system has that advantage that it is visible to public, and I can always search for open tickets that were created long ago. It is highly unlikely that I will search my mail for that kind of stuff, so if a bug reported by mail isn't fixed immediately, it will likely be forgotten forever.

Copyright (C) 2005-\/2011 Sergey A. Tachenov 