source: Vago/quazip-0.7.2/quazip/doc/index.dox@ 1089

Last change on this file since 1089 was 1049, checked in by s10k, 8 years ago
File size: 7.1 KB
Line 
1/**
2 * \mainpage QuaZIP - Qt/C++ wrapper for ZIP/UNZIP package
3 *
4\htmlonly
5<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=142688&amp;type=7" style="width:210; height:62; border:none; float:right;" alt="Powered by SourceForge.net" /></a>
6\endhtmlonly
7 * \section overview Overview
8 *
9 * QuaZIP is a simple C++ wrapper over <a
10 * href="http://www.winimage.com/zLibDll/minizip.html">Gilles Vollant's ZIP/UNZIP
11 * package</a> that can be used to access ZIP archives. It uses <a
12 * href="http://qt.digia.com/">the Qt toolkit</a>.
13 *
14 * If you do not know what Qt is, you have two options:
15 * - Just forget about QuaZIP.
16 * - Learn more about Qt by downloading it and/or reading the excellent <a
17 * href="http://qt-project.org/doc/">official Qt documentation</a>
18 *
19 * The choice is yours, but if you are really interested in
20 * cross-platform (Windows/Linux/BSD/UNIX/Mac/Others) software
21 * development, I would definitely recommend you the latter ^_^
22 *
23 * QuaZIP allows you to access files inside ZIP archives using QIODevice
24 * API, and - yes! - that means that you can also use QTextStream,
25 * QDataStream or whatever you would like to use on your zipped files.
26 *
27 * QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both
28 * reading from and writing to ZIP archives.
29 *
30 * \section download Download QuaZIP
31 *
32 * Downloads are available from <a
33 * href="http://sourceforge.net/projects/quazip/">QuaZIP project's page
34 * at SourceForge.net</a>.
35 *
36 * \section platforms Platforms supported
37 *
38 * QuaZIP has been currently tested on the following platforms:
39 * - linux-g++ (Ubuntu 11.10, Qt 4.7.4)
40 * - freebsd-g++ (Qt 4.0.0
41 * - hpux-acc (HP-UX 11.11)
42 * - hpux-g++ (HP-UX 11.11)
43 * - win32-g++ (MinGW)
44 * - win32-msvc2010 (MS VS 2010 Express, Qt 4.8.4)
45 * - win32-msvc2010 (Qt Creator, Qt 5.0.1)
46 * - win32-msvc2012 (Qt Creator, Qt 5.2.0)
47 * - some Symbian version, reportedly
48 *
49 * No testing has been officially done on other systems. Of course, patches to
50 * make it work on any platform that it currently does not work on are
51 * always welcome!
52 *
53 * \section whats-new What is new in this version of QuaZIP?
54 *
55 * See the NEWS.txt file supplied with the distribution.
56 *
57 * \section Requirements
58 *
59 * Just <a href="http://www.zlib.org/">zlib</a> and Qt 4/5. Well, Qt 4
60 * depends on zlib anyway, but you will need zlib headers to compile
61 * QuaZIP. With Qt5 sometimes you need the zlib library as well (on
62 * Windows, for example).
63 *
64 * \section building Building, testing and installing
65 *
66 * \note Instructions given in this section assume that you are
67 * using some UNIX dialect, but the build process should be very similar
68 * on win32-g++ platform too. On other platforms it's essentially the
69 * same process, maybe with some qmake adjustments not specific to
70 * QuaZIP itself.
71 *
72 * To build the library, run:
73\verbatim
74$ cd /wherever/quazip/source/is/quazip-x.y.z/quazip
75$ qmake [PREFIX=where-to-install]
76$ make
77\endverbatim
78 *
79 * Make sure that you have Qt 4/5 installed with all required headers and
80 * utilities (that is, including the 'dev' or 'devel' package on Linux)
81 * and that you run qmake utility of the Qt 4, not some other version
82 * you may have already installed (you may need to type full path to
83 * qmake like /usr/local/qt4/bin/qmake).
84 *
85 * To reconfigure (with another PREFIX, for example), just run qmake
86 * with appropriate arguments again.
87 *
88 * If you need to specify additional include path or libraries, use
89 * qmake features (see qmake reference in the Qt documentation). For
90 * example:
91 *
92\verbatim
93$ qmake LIBS+=-L/usr/local/zlib/lib INCLUDEPATH+=/usr/local/zlib/include
94\endverbatim
95 * (note abscence of "-I" before the include path and the presence of "-L"
96 * before the lib path)
97 *
98 * Also note that you may or may not need to define ZLIB_WINAPI (qmake
99 * DEFINES+=ZLIB_WINAPI) when linking to zlib on Windows, depending on
100 * how zlib was built (generally, if using zlibwapi.dll, this define is
101 * needed).
102 *
103 * To install compiled library:
104\verbatim
105$ make install
106\endverbatim
107 *
108 * By default, QuaZIP compiles as a DLL/SO, but you have other
109 * options:
110 * - Just copy appropriate source files to your project and use them,
111 * but you need to define QUAZIP_STATIC before including any QuaZIP
112 * headers (best done as a compiler option). This will save you from
113 * possible side effects of importing/exporting QuaZIP symbols.
114 * - Compile it as a static library using CONFIG += staticlib qmake
115 * option. QUAZIP_STATIC is defined automatically by qmake in this case.
116 *
117 * Binary compatibility is guaranteed between minor releases starting
118 * with version 0.5, thanks to the Pimpl idiom. That is, the next binary
119 * incompatible version will be 1.x.
120 *
121 * \section test Testing
122 *
123 * To check if QuaZIP's basic features work OK on your platform, you may
124 * wish to compile the test suite provided in test directory:
125\verbatim
126$ cd /wherever/quazip/source/is/quazip-x.y.z/qztest
127$ qmake
128$ make
129$ ./qztest
130\endverbatim
131 *
132 * Note that the test suite looks for the quazip library in the "quazip"
133 * folder of the project ("../quazip"), but you may wish to use LIBS
134 * for some systems (Windows often puts the library in the separate
135 * "debug" or "release" directory). If you wish to use the quazip
136 * version that's already installed, provide the appropriate path.
137 *
138 * On some systems you may need to set PATH, LD_LIBRARY_PATH or
139 * SHLIB_PATH to get "qztest" to actually run.
140 *
141 * If everything went fine, the test suite should report a lot of PASS
142 * messages. If something goes wrong, it will provide details and a
143 * warning that some tests failed.
144 *
145 * \section using Using
146 *
147 * See \ref usage "usage page".
148 *
149 * \section contacts Authors and contacts
150 *
151 * This wrapper has been written by Sergey A. Tachenov, AKA Alqualos.
152 * This is my first open source project, so it may suck, but I did not
153 * find anything like that, so I just had no other choice but to write
154 * it.
155 *
156 * If you have anything to say to me about QuaZIP library, feel free to
157 * do so (read the \ref faq first, though). I can not promise,
158 * though, that I fix all the bugs you report in, add any features you
159 * want, or respond to your critics, or respond to your feedback at all.
160 * I may be busy, I may be tired of working on QuaZIP, I may be even
161 * dead already (you never know...).
162 *
163 * To report bugs or to post ideas about what should be done, use
164 * SourceForge.net's <a
165 * href="http://sourceforge.net/tracker/?group_id=142688">trackers</a>.
166 * If you want to send me a private message, use my e-mail address
167 * stachenov@gmail.com.
168 *
169 * Do not use e-mail to report bugs, please. Reporting bugs and problems
170 * with the SourceForge.net's bug report system has that advantage that
171 * it is visible to public, and I can always search for open tickets
172 * that were created long ago. It is highly unlikely that I will search
173 * my mail for that kind of stuff, so if a bug reported by mail isn't
174 * fixed immediately, it will likely be forgotten forever.
175 *
176 * Copyright (C) 2005-2014 Sergey A. Tachenov and contributors
177 **/
Note: See TracBrowser for help on using the repository browser.