[Interest] Project using QuaZip needs zlib headers

Tony Rietwyk tony at rightsoft.com.au
Thu Dec 6 13:39:36 CET 2012


Thanks, Andreas

> Sent: Thursday, 6 December 2012 6:47 PM
> 
> Hi,
> 
> On Thu, Dec 6, 2012 at 8:04 AM, Tony Rietwyk <tony at rightsoft.com.au>
> wrote:
> > I just incorporated the QuaZip project into my Qt 4.8.3 application
which is
> > built on Windows, Mac OS and Debian platforms.   quazip/zip.h refers to
> > zlib.h.   In order to compile I have added this line to my .pro file:
> >
> > INCLUDEPATH += $$QMAKE_LIBDIR_QT/../src/3rdparty/zlib
> >
> > This seems quite a hack.  What is the correct way to resolve this
reference?
> 
> It is a hack, in fact it'll make your project unbuildable for anybody
using a
> binary-only-qt (be it distribution packages or some other source). So you
> have to consider zlib the same as QuaZip itself, i.e.
> either integrate it into your project as you did with QuaZip or have some
> configure script which finds a working zlib header and library to link
QuaZip
> against (or lets the user point to one) and setup the .pro files
accordingly.
> 
> Andreas

This is a private application - the source will never be distributed.  

Since my first post, I have found that on Mac OSX the application compiles,
but the link fails to resolve the calls to zlib.  The same .pro file links
and runs OK on Windows.  

I need to know how to include and link against the same zlib used by Qt.
Using a separate copy of the zlib code in the same executable seems to be
asking for trouble.  

I notice that qt/4.8.3/src/3rdparty/zlib_dependency.pri has this code: 

contains(QT_CONFIG, system-zlib) {
    symbian:                 LIBS_PRIVATE += -llibz
    else:if(unix|win32-g++*):LIBS_PRIVATE += -lz
    else:                    LIBS += zdll.lib
} else {
    INCLUDEPATH +=  $$PWD/zlib
}

Maybe including this .pri, and adding QT_CONFIG += system-zlib   to my .pro
would help?  

Tony.





More information about the Interest mailing list