quazip | Qt based zip/unzip library , with patches for LibrePCB | Compression library

 by   LibrePCB C++ Version: Current License: Non-SPDX

kandi X-RAY | quazip Summary

kandi X-RAY | quazip Summary

quazip is a C++ library typically used in Utilities, Compression applications. quazip has no bugs and it has low support. However quazip has 1 vulnerabilities and it has a Non-SPDX License. You can download it from GitHub.

QuaZip is the C++ wrapper for Gilles Vollant's ZIP/UNZIP package (AKA Minizip) using Trolltech's Qt library. If you need to write files to a ZIP archive or read files from one using QIODevice API, QuaZip is exactly the kind of tool you need. See the documentation for details. Want to report a bug or ask for a feature? Open an issue. Want to fix a bug or implement a new feature? See CONTRIBUTING.md. You're a package maintainer and want to update to QuaZip 1.0? Read the migration guide. Copyright (C) 2005-2020 Sergey A. Tachenov and contributors. Distributed under LGPL, full details in the COPYING file. Original ZIP package is copyrighted by Gilles Vollant, see quazip/(un)zip.h files for details, but basically it's the zlib license.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              quazip has a low active ecosystem.
              It has 3 star(s) with 4 fork(s). There are 4 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              quazip has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of quazip is current.

            kandi-Quality Quality

              quazip has 0 bugs and 0 code smells.

            kandi-Security Security

              quazip has 1 vulnerability issues reported (0 critical, 0 high, 1 medium, 0 low).
              quazip code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              quazip has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              quazip releases are not available. You will need to build from source code and install.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of quazip
            Get all kandi verified functions for this library.

            quazip Key Features

            No Key Features are available at this moment for quazip.

            quazip Examples and Code Snippets

            No Code Snippets are available at this moment for quazip.

            Community Discussions

            QUESTION

            Link dll against static build of QuaZip using Qt5.12 in VS2017
            Asked 2022-Mar-15 at 11:05

            I'm trying to link a .dll against a static builld of QuaZip library to get rid of the quazip.dll dependency at runtine. Since I've ran into a dependency conflict at production because a customer is using other third party applications in the same process where my .dll is uncluded, which are also using the quazip.dll but a legacy version. My steps were first to statically compile the zlib dependency as instructed in other posts with the ZLIB_WINAPI flag. Then I compiled QuaZip also with the appropriate ZLIB_WINAPI flag and QUAZIP_STATIC. As zlib.h I have used QtZlib/zlib.h header like in this post recommended. In my .dll project I've also tried to set all the mentioned flags (QUAZIP_STATIC seems to be necessary). Now when I try to compile my .dll I get the following errors

            1>quazip.lib(zip.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__z_deflate@8" in Funktion "_zipCloseFileInZipRaw64@16".
            1>quazip.lib(zip.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__z_deflateEnd@4" in Funktion "_zipCloseFileInZipRaw64@16".
            1>quazip.lib(zip.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__z_crc32@12" in Funktion "_zipWriteInFileInZip@12".
            1>quazip.lib(unzip.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__imp__z_crc32@12".
            1>quazip.lib(zip.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_imp__z_deflateInit2@32" in Funktion "_zipOpenNewFileInZip4_64@76".
            1>quazip.lib(zip.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__z_get_crc_table@0" in Funktion "_zipOpenNewFileInZip4_64@76".
            1>quazip.lib(unzip.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__imp__z_get_crc_table@0".
            1>quazip.lib(unzip.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__z_inflate@8" in Funktion "_unzReadCurrentFile@12".
            1>quazip.lib(unzip.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__z_inflateEnd@4" in Funktion "_unzCloseCurrentFile@4".
            1>quazip.lib(unzip.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_imp__z_inflateInit2@16" in Funktion "_unzOpenCurrentFile3@20".

            All projects have been build with the /MT flag.

            This is my linker command line

            /OUT:"builds\qt5\dll\release\.dll" /MANIFEST /NXCOMPAT /PDB:"builds\qt5\dll\release\.pdb" /DYNAMICBASE "qtmain.lib" "Qt5Core.lib" "Qt5Gui.lib" "Qt5Widgets.lib" "Qt5Sql.lib" "Qt5Network.lib" "Qt5PrintSupport.lib" "qwt.lib" "sloperatecppapi.lib" "slgfw.lib" "slgfwwidget.lib" "slcap.lib" "sltrc.lib" "sltrp.lib" "slhmiutilitieslib.lib" "slaesvcadapter.lib" "slfsfilesvcadapter.lib" "sltraceadapter.lib" "slarchiveadapter.lib" "slmd.lib" "slgfwmanager.lib" "slcncversioninfo.lib" "quazip.lib" "setupapi.lib" "wsock32.lib" "ws2_32.lib" "ucrt.lib" "vcruntime.lib" "msvcrt.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /DLL /MACHINE:X86 /SAFESEH /INCREMENTAL:NO /PGD:"builds\qt5\dll\release.pgd" /SUBSYSTEM:WINDOWS /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"builds\qt5\dll\release.dll.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /LIBPATH:"S:\hmisl\lib" /LIBPATH:"S:\hmisl\siemens\sinumerik\hmi\osal\ace\lib" /LIBPATH:"S:\hmisl\siemens\sinumerik\hmi\osal\qt\lib" /LIBPATH:".\include\qt5\qwt\lib" /LIBPATH:".\include\qt5\quazip\lib" /LIBPATH:".\include\qt5\modbus\lib" /LIBPATH:".\include\qt5\qtsingleapplication\lib\release" /TLBID:1

            I would be grateful for any new tip, because I've been trying this for almost a week now and I'm running out of ideas.

            ...

            ANSWER

            Answered 2022-Mar-14 at 14:34

            Ok, three days of agony and I have the solution. I recompiled the zlib, this time not using the provided project file in \contrib\vstudio\vc14, but generating my own with CMake. Then QuaZip linked against it with the flag QUAZIP_STATIC. I then set this flag in my project, which uses QuaZip and linked it against the built quazip.lib and its dependency zlibstatic.lib. Now the library is built into my .dll statically and I no longer have to supply the quazip.dll that caused the conflict.

            Source https://stackoverflow.com/questions/71467429

            QUESTION

            Qt Android Directories
            Asked 2021-Oct-10 at 09:27

            I am concerned about two questions regarding how Qt works with Android directories.

            1. For example, I want to download an archive via a library (QuaZip), but I need it to be downloaded along the path "/ storage / emulated / 0 / Android / data /", and then unzipped right there. But the problem is that the file is saved in the patch "/data/user/0/org.qtproject.example.NameApp". How can this be fixed? My code (it is unlikely that it works at all, but on Windows it would work for sure):
            ...

            ANSWER

            Answered 2021-Oct-10 at 09:27
            On your first question about Android/data r/w

            On Android 11 Android/data is forbidden for app access without root, see docs1 and docs2.

            For read/write to other locations:

            1. The directory must exis or must be created (with QDir::mkpath() at once, or with QDir::mkdir() by subdirectories sequentally, because it can't create trees of directories).
            2. QFile must be closed before rename.
            3. App must have android.permission.READ_EXTERNAL_STORAGE and android.permission.WRITE_EXTERNAL_STORAGE permissions.
            4. At last, approve file access permissions manually in Android apps settings after app is deployed from Qt Creator. And you also may have to launch app manually, because there were reports about different app behavior when launched from IDE and and when launched manually from device.

            This code worked for me (Android 11, Qt 5.15.2):

            Source https://stackoverflow.com/questions/69508302

            QUESTION

            How to decompress gzip containing multiple files?
            Asked 2021-Apr-19 at 15:15

            Is there an option, using zlib or boost, to unpack a gzip archive containing several files? All options which I figured out were for 1 single file in archive.

            I know about minizip, quazip and other useful libs, but I need to try to find an option without additional libraries.

            ...

            ANSWER

            Answered 2021-Apr-19 at 15:15

            gzip doesn't compress multiple files. It only compresses one file. The reason you can't find a way to extract gzip archives is that they don't exist.

            Source https://stackoverflow.com/questions/67164630

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install quazip

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/LibrePCB/quazip.git

          • CLI

            gh repo clone LibrePCB/quazip

          • sshUrl

            git@github.com:LibrePCB/quazip.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Compression Libraries

            zstd

            by facebook

            Luban

            by Curzibn

            brotli

            by google

            upx

            by upx

            jszip

            by Stuk

            Try Top Libraries by LibrePCB

            LibrePCB

            by LibrePCBC++

            librepcb-website

            by LibrePCBHTML

            librepcb-doc

            by LibrePCBCSS

            librepcb-parts-generator

            by LibrePCBPython

            stm-db

            by LibrePCBPython