QuaZip `quazip/`
Type: ZIP Archive Library (Qt C++ Wrapper)
License: LGPL-2.1-or-later
Fork Origin: GitHub
Status: Detached Fork (independently maintained)
Dependencies: Qt 5/6, zlib Latest Version: 0.0.5-1
Overview
QuaZip is the C++ wrapper for Gilles Vollant's ZIP/UNZIP package (Minizip) using the Qt library. If you need to write files to a ZIP archive or read files from one using the QIODevice API, QuaZip is the tool you need.
Usage in ProjT Launcher
QuaZip is used for:
- Mod installation — Extracting mod archives
- Modpack handling — Processing CurseForge/Modrinth packs
- Resource packs — Managing Minecraft resource packs
- Backup/restore — Creating instance backups
Features
| Feature | Status |
|---|---|
| Read/Write ZIP files | ✅ |
Qt stream integration (QIODevice) |
✅ |
| Unicode filename support | ✅ |
| ZIP64 support (files > 4GB) | ✅ |
| BZIP2 compression | ✅ |
| Password protection (read) | ✅ |
Documentation
| Resource | Description |
|---|---|
| Migration Guide | Migration guide to QuaZip 1.x |
| Online Docs | Full documentation |
quazip/qztest/ |
Test suite and examples |
Build Instructions
Prerequisites
- Qt 5.12+ or Qt 6.x
- zlib (or Qt's bundled zlib)
- CMake 3.15+
- libbz2 (optional, for BZIP2 support)
Linux
sudo apt-get install libbz2-dev
cmake -B build
cmake --build build
Windows
When using Qt online installer with MSVC, select MSVC 20XY 64-bit and under additional libraries, select Qt 5 Compatibility Module. Add C:\Qt\6.8.2\msvc20XY_64 to your PATH.
Using vcpkg (x64)
cmake --preset vcpkg
cmake --build build --config Release
Using Conan v2 (x64)
conan install . -of build -s build_type=Release -o *:shared=False --build=missing
cmake --preset conan
cmake --build build --config Release
Complete Build Workflow
cmake -B build -DQUAZIP_QT_MAJOR_VERSION=6 -DBUILD_SHARED_LIBS=ON -DQUAZIP_ENABLE_TESTS=ON
cmake --build build --config Release
sudo cmake --install build
cd build && ctest --verbose -C Release
CMake Options
| Option | Description | Default |
|---|---|---|
QUAZIP_QT_MAJOR_VERSION |
Qt version to search for (5 or 6) | Auto-detect |
BUILD_SHARED_LIBS |
Build as shared library | ON |
QUAZIP_LIB_FILE_NAME |
Output library name | quazip<ver>-qt<ver> |
QUAZIP_INSTALL |
Enable installation | ON |
QUAZIP_USE_QT_ZLIB |
Use Qt's bundled zlib (not recommended) | OFF |
QUAZIP_ENABLE_TESTS |
Build test suite | OFF |
QUAZIP_BZIP2 |
Enable BZIP2 compression | ON |
QUAZIP_BZIP2_STDIO |
Output BZIP2 errors to stdio | ON |
QUAZIP_ENABLE_QTEXTCODEC |
Enable QTextCodec on Qt6 | ON |
Copyright & Licensing
Copyright (C) 2005-2020 Sergey A. Tachenov and contributors
Distributed under LGPL-2.1-or-later. See quazip/COPYING for details.
Original ZIP package is copyrighted by Gilles Vollant (zlib license).
Contributing
- Report bugs: GitHub Issues
- Contribute code: See CONTRIBUTING.md
- Migration guide:
quazip/QuaZip-1.x-migration.md
Related Documentation
- zlib — Underlying compression library
- bzip2 — BZIP2 compression support
- Third-party Libraries — All dependencies