mirror of
https://gitlab.com/pholy/OSCAR-code.git
synced 2025-04-24 06:30:45 +00:00
Using official source which has been placed in 3rdparty folder Oximetry button temporarily autostarts import.. Still a Work in progress.
180 lines
7.2 KiB
Plaintext
180 lines
7.2 KiB
Plaintext
/**
|
|
* \mainpage QuaZIP - Qt/C++ wrapper for ZIP/UNZIP package
|
|
*
|
|
\htmlonly
|
|
<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=142688&type=7" style="width:210; height:62; border:none; float:right;" alt="Powered by SourceForge.net" /></a>
|
|
\endhtmlonly
|
|
* \section overview Overview
|
|
*
|
|
* 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>.
|
|
*
|
|
* If you do not know what Qt is, you have two options:
|
|
* - Just forget about QuaZIP.
|
|
* - Learn more about Qt by downloading it and/or reading the excellent <a
|
|
* href="http://qt-project.org/doc/">official Qt documentation</a>
|
|
*
|
|
* 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 ^_^
|
|
*
|
|
* 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 Download QuaZIP
|
|
*
|
|
* Downloads are available from <a
|
|
* href="http://sourceforge.net/projects/quazip/">QuaZIP project's page
|
|
* at SourceForge.net</a>.
|
|
*
|
|
* \section platforms Platforms supported
|
|
*
|
|
* QuaZIP has been currently tested on the following platforms:
|
|
* - linux-g++ (Ubuntu 11.10, Qt 4.7.4)
|
|
* - freebsd-g++ (Qt 4.0.0
|
|
* - hpux-acc (HP-UX 11.11)
|
|
* - hpux-g++ (HP-UX 11.11)
|
|
* - win32-g++ (MinGW)
|
|
* - win32-msvc2010 (MS VS 2010 Express, Qt 4.8.4)
|
|
* - win32-msvc2010 (Qt Creator, Qt 5.0.1)
|
|
* - some Symbian version, reportedly
|
|
*
|
|
* 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!
|
|
*
|
|
* \section whats-new What is new in this version of QuaZIP?
|
|
*
|
|
* See the NEWS.txt file supplied with the distribution.
|
|
*
|
|
* \section Requirements
|
|
*
|
|
* Just <a href="http://www.zlib.org/">zlib</a> and Qt 4/5. Well, Qt 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).
|
|
*
|
|
* \section building Building, testing and installing
|
|
*
|
|
* \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.
|
|
*
|
|
* To build the library, run:
|
|
\verbatim
|
|
$ cd /wherever/quazip/source/is/quazip-x.y.z/quazip
|
|
$ qmake [PREFIX=where-to-install]
|
|
$ make
|
|
\endverbatim
|
|
*
|
|
* Make sure that you have Qt 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 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:
|
|
*
|
|
\verbatim
|
|
$ qmake LIBS+=-L/usr/local/zlib/lib INCLUDEPATH+=/usr/local/zlib/include
|
|
\endverbatim
|
|
* (note abscence of "-I" before the include path and the presence of "-L"
|
|
* before the lib path)
|
|
*
|
|
* 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).
|
|
*
|
|
* To install compiled library:
|
|
\verbatim
|
|
$ make install
|
|
\endverbatim
|
|
*
|
|
* By default, QuaZIP compiles as a DLL/SO, but you have other
|
|
* options:
|
|
* - 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.
|
|
* - Compile it as a static library using CONFIG += staticlib qmake
|
|
* option. QUAZIP_STATIC is defined automatically by qmake in this case.
|
|
*
|
|
* 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, and if zip64 support is ever
|
|
* introduced, then there will be a build option to compile either as
|
|
* non-zip64 (binary compatible with the old releases) or as zip64
|
|
* (which will be binary incompatible due to different file size types).
|
|
*
|
|
* \section test Testing
|
|
*
|
|
* To check if QuaZIP's basic features work OK on your platform, you may
|
|
* wish to compile the test suite provided in test directory:
|
|
\verbatim
|
|
$ cd /wherever/quazip/source/is/quazip-x.y.z/qztest
|
|
$ qmake
|
|
$ make
|
|
$ ./qztest
|
|
\endverbatim
|
|
*
|
|
* 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.
|
|
*
|
|
* On some systems you may need to set PATH, LD_LIBRARY_PATH or
|
|
* SHLIB_PATH to get "qztest" to actually run.
|
|
*
|
|
* 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.
|
|
*
|
|
* \section using Using
|
|
*
|
|
* See \ref usage "usage page".
|
|
*
|
|
* \section contacts Authors and 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 \ref 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 <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
|
|
* 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-2012 Sergey A. Tachenov and contributors
|
|
**/
|