source: Vago/Libs/quazip-0.7.2/doc/html/index.html@ 1054

Last change on this file since 1054 was 1050, checked in by s10k, 8 years ago
File size: 10.6 KB
RevLine 
[1050]1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<title>QuaZIP: QuaZIP - Qt/C++ wrapper for ZIP/UNZIP package</title>
6<link href="tabs.css" rel="stylesheet" type="text/css"/>
7<link href="doxygen.css" rel="stylesheet" type="text/css"/>
8</head>
9<body>
10<!-- Generated by Doxygen 1.7.4 -->
11<div id="top">
12<div id="titlearea">
13<table cellspacing="0" cellpadding="0">
14 <tbody>
15 <tr style="height: 56px;">
16 <td style="padding-left: 0.5em;">
17 <div id="projectname">QuaZIP&#160;<span id="projectnumber">quazip-0-7-2</span></div>
18 </td>
19 </tr>
20 </tbody>
21</table>
22</div>
23 <div id="navrow1" class="tabs">
24 <ul class="tablist">
25 <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
26 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
27 <li><a href="annotated.html"><span>Classes</span></a></li>
28 <li><a href="files.html"><span>Files</span></a></li>
29 <li><a href="dirs.html"><span>Directories</span></a></li>
30 </ul>
31 </div>
32</div>
33<div class="header">
34 <div class="headertitle">
35<div class="title">QuaZIP - Qt/C++ wrapper for ZIP/UNZIP package </div> </div>
36</div>
37<div class="contents">
38<div class="textblock">
39<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>
40 <h2><a class="anchor" id="overview"></a>
41Overview</h2>
42<p>QuaZIP is a simple C++ wrapper over <a href="http://www.winimage.com/zLibDll/minizip.html">Gilles Vollant's ZIP/UNZIP package</a> that can be used to access ZIP archives. It uses <a href="http://qt.digia.com/">the Qt toolkit</a>.</p>
43<p>If you do not know what <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> is, you have two options:</p>
44<ul>
45<li>Just forget about QuaZIP.</li>
46<li>Learn more about <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> by downloading it and/or reading the excellent <a href="http://qt-project.org/doc/">official Qt documentation</a></li>
47</ul>
48<p>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 latter ^_^</p>
49<p>QuaZIP allows you to access files inside ZIP archives using <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qiodevice.html">QIODevice</a> API, and - yes! - that means that you can also use <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qtextstream.html">QTextStream</a>, <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qdatastream.html">QDataStream</a> or whatever you would like to use on your zipped files.</p>
50<p>QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both reading from and writing to ZIP archives.</p>
51<h2><a class="anchor" id="download"></a>
52Download QuaZIP</h2>
53<p>Downloads are available from <a href="http://sourceforge.net/projects/quazip/">QuaZIP project's page at SourceForge.net</a>.</p>
54<h2><a class="anchor" id="platforms"></a>
55Platforms supported</h2>
56<p>QuaZIP has been currently tested on the following platforms:</p>
57<ul>
58<li>linux-g++ (Ubuntu 11.10, <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> 4.7.4)</li>
59<li>freebsd-g++ (<a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> 4.0.0</li>
60<li>hpux-acc (HP-UX 11.11)</li>
61<li>hpux-g++ (HP-UX 11.11)</li>
62<li>win32-g++ (MinGW)</li>
63<li>win32-msvc2010 (MS VS 2010 Express, <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> 4.8.4)</li>
64<li>win32-msvc2010 (<a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> Creator, <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> 5.0.1)</li>
65<li>win32-msvc2012 (<a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> Creator, <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> 5.2.0)</li>
66<li>some Symbian version, reportedly</li>
67</ul>
68<p>No testing has been officially done on other systems. Of course, patches to make it work on any platform that it currently does not work on are always welcome!</p>
69<h2><a class="anchor" id="whats-new"></a>
70What is new in this version of QuaZIP?</h2>
71<p>See the NEWS.txt file supplied with the distribution.</p>
72<h2><a class="anchor" id="Requirements"></a>
73Requirements</h2>
74<p>Just <a href="http://www.zlib.org/">zlib</a> and <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> 4/5. Well, <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> 4 depends on zlib anyway, but you will need zlib headers to compile QuaZIP. With Qt5 sometimes you need the zlib library as well (on Windows, for example).</p>
75<h2><a class="anchor" id="building"></a>
76Building, testing and installing</h2>
77<dl class="note"><dt><b>Note:</b></dt><dd>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.</dd></dl>
78<p>To build the library, run: </p>
79<div class="fragment"><pre class="fragment">
80$ cd /wherever/quazip/source/is/quazip-x.y.z/quazip
81$ qmake [PREFIX=where-to-install]
82$ make
83</pre></div><p>Make sure that you have <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> 4/5 installed with all required headers and utilities (that is, including the 'dev' or 'devel' package on Linux) and that you run qmake utility of the <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> 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).</p>
84<p>To reconfigure (with another PREFIX, for example), just run qmake with appropriate arguments again.</p>
85<p>If you need to specify additional include path or libraries, use qmake features (see qmake reference in the <a class="elRef" doxygen="qtcore.tags:http://doc.qt.io/qt-5//" href="http://doc.qt.io/qt-5/qt.html">Qt</a> documentation). For example:</p>
86<div class="fragment"><pre class="fragment">
87$ qmake LIBS+=-L/usr/local/zlib/lib INCLUDEPATH+=/usr/local/zlib/include
88</pre></div><p> (note abscence of "-I" before the include path and the presence of "-L" before the lib path)</p>
89<p>Also note that you may or may not need to define ZLIB_WINAPI (qmake DEFINES+=ZLIB_WINAPI) when linking to zlib on Windows, depending on how zlib was built (generally, if using zlibwapi.dll, this define is needed).</p>
90<p>To install compiled library: </p>
91<div class="fragment"><pre class="fragment">
92$ make install
93</pre></div><p>By default, QuaZIP compiles as a DLL/SO, but you have other options:</p>
94<ul>
95<li>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 possible side effects of importing/exporting QuaZIP symbols.</li>
96<li>Compile it as a static library using CONFIG += staticlib qmake option. QUAZIP_STATIC is defined automatically by qmake in this case.</li>
97</ul>
98<p>Binary compatibility is guaranteed between minor releases starting with version 0.5, thanks to the Pimpl idiom. That is, the next binary incompatible version will be 1.x.</p>
99<h2><a class="anchor" id="test"></a>
100Testing</h2>
101<p>To check if QuaZIP's basic features work OK on your platform, you may wish to compile the test suite provided in test directory: </p>
102<div class="fragment"><pre class="fragment">
103$ cd /wherever/quazip/source/is/quazip-x.y.z/qztest
104$ qmake
105$ make
106$ ./qztest
107</pre></div><p>Note that the test suite looks for the quazip library in the "quazip" folder of the project ("../quazip"), but you may wish to use LIBS for some systems (Windows often puts the library in the separate "debug" or "release" directory). If you wish to use the quazip version that's already installed, provide the appropriate path.</p>
108<p>On some systems you may need to set PATH, LD_LIBRARY_PATH or SHLIB_PATH to get "qztest" to actually run.</p>
109<p>If everything went fine, the test suite should report a lot of PASS messages. If something goes wrong, it will provide details and a warning that some tests failed.</p>
110<h2><a class="anchor" id="using"></a>
111Using</h2>
112<p>See <a class="el" href="usage.html">usage page</a>.</p>
113<h2><a class="anchor" id="contacts"></a>
114Authors and contacts</h2>
115<p>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.</p>
116<p>If you have anything to say to me about QuaZIP library, feel free to do so (read the <a class="el" href="faq.html">QuaZip FAQ</a> 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...).</p>
117<p>To report bugs or to post ideas about what should be done, use SourceForge.net's <a href="http://sourceforge.net/tracker/?group_id=142688">trackers</a>. If you want to send me a private message, use my e-mail address <a href="mailto:stachenov@gmail.com">stachenov@gmail.com</a>.</p>
118<p>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.</p>
119<p>Copyright (C) 2005-2014 Sergey A. Tachenov and contributors </p>
120</div></div>
121<hr class="footer"/><address class="footer"><small>Generated on Sun Apr 3 2016 08:26:24 for QuaZIP by&#160;
122<a href="http://www.doxygen.org/index.html">
123<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
124</body>
125</html>
Note: See TracBrowser for help on using the repository browser.