[Qt-interest] static linking
Oliver Demetz
forenbeitraege at oliverdemetz.de
Thu May 28 14:48:34 CEST 2009
Great clarification!
Thank you very much, great support!
With best regards,
Oliver
John McClurkin schrieb:
> Oliver Demetz wrote:
>> Hmmm, ok
>>
>> but "trying" takes 3 or 4 hours ;-)
>> And I do not want to risk to not be
>> able to build my app afterwards.
>>
>> Is there anybody that just knows whether
>> its possible to maintain both versions
>> of the qt libs side by side?
>>
>> Thanks in advance,
>> Oliver
>>
>
> My understanding is that the OP wants to create her own static library
> and link it with her application. This is separate from using static QT
> libraries. I routinely use static private libraries with dynamic QT
> libraries on both Linux and on WinXP using mingw. (I have troubles in
> using Qt with Visual Studio 2005).
> In the qmake file for the private static libraries I add the statements:
>
> TEMPLATE = lib
> CONFIG += static
>
> When I compile the private libraries I get output files like libRex.a
> and libStics.a. There are no output files like libRex.so or libRex.dll
> in the library trees. If you do have .so or .dll files, then I think
> that the .pro file is wrong and you could check this by looking in the
> Makefiles generated by qmake -makefile.
> To use these static libraries in an application that links with dynamic
> QT libraries I put the statements
> INCLUDEPATH += pathToSticsLib pathToRexLib ##to get library headers
> LIBS += -LpathToSticsLibRelease -lStics -LpathtoRexLibRelease -lRex
> I get applications with dynamically linked QT libraries and statically
> linked private libraries. Note, I don't put a static flag in the
> application qmake file.
>
> As to having both static and dynamic QT libraries together, my
> interpretation of the configure script is that you cannot. To get this I
> put a distribution into two different directories, i.e Qt-4.5.0-static
> and Qt-4.5.0-dyn, and build each, adding the -static flag to configure
> in the static distribution. To save time, I don't build the examples,
> demos, tutorials, etc. in the static distribution. This is no different
> than having two different versions of Qt. To build against dynamic Qt
> libraries, I run qmake from the dynamic distribution. To build against
> the static Qt libraries, I run qmake from the static distribution.
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
More information about the Qt-interest-old
mailing list