Qt binaries



  • Can I make my Qt binaries static..and does it mean that i have to buy a Qt license or is it ok if I use the Qt open source and make my binaries static.

    I tried searching this in many forums including this but still I am not clear.



  • Absolutely the answer is yes. You need compile it from source. See "configure --help" for more detailed information.



  • If you release your program under the GPL license, you can use Qt statically built. I don't see any good reason not to use the dynamic libraries though (especially on unices, where dynamic linking has grown from preference to pretty much a rule).



  • If you want to use Qt as a static library, you either have to publish your application under the GPL, or buy a commercial license.

    EDIT: Wow, 4 answers in 30 sec. That has never happened to me



  • It is recommended not to use static linkage with lgpled libraries. Not sure about gpl btw.



  • [quote author="loladiro" date="1308840326"]If you want to use Qt as a static library, you either have to publish your application under the GPL, or buy a commercial license.

    EDIT: Wow, 4 answers in 30 sec. That has never happened to me[/quote]

    haha :D


  • Moderators

    From a technical point you can generate static libraries based on open source license.

    The tricky question is how you like to distribute your applications. I guess it is the legal aspect you like to have an answer for. Unfortunately, I am not an laywer.



  • LGPL and GPL both allows static linking; you just must provide source of your application. LGPL allows closed source programs when the LGPL library is linked in shared manner.

    There is tons of material available about this issue: http://developer.qt.nokia.com/search/tag/licensing



  • Hi,

    1. My software will be closed source. So I guess I will have to buy a license of QT for which I dont have the money.

    2. If I dynmically link to libraries, is there a way to reduce the SIZE of the QT libraries ? They are like 100+ MB !

    When I statically link my software its just 8MB in total.
    It would be best if its possible to statically link the library for closed source applications.



  • [quote author="Ketan Shah" date="1308896414"]Hi,

    1. My software will be closed source. So I guess I will have to buy a license of QT for which I dont have the money.
    2. If I dynmically link to libraries, is there a way to reduce the SIZE of the QT libraries ? They are like 100+ MB !
      When I statically link my software its just 8MB in total.
      It would be best if its possible to statically link the library for closed source applications.[/quote]

    Are you talking about debug or release versions?
    You only have to deliver the dlls you need. It uses more space than statically linked, that's correct.

    But QtCore & QtGui for example, together in release for MSVS2008 is 10 MB, with mingw it is 12 MB. So select, which libs you need, and it should be less then 100 MB



  • where are these dlls, I cant find ...
    are u referring E:\Qt\2010.05\qt\bin\QtCore4.dll..

    how can I add it to my release folder, because manually adding dlls in the release folder doesnt works.please reply...



  • They have to be in the same folder as your application (you can manually copy them). make sure you have QtCore4.dll and all other modules you use (e.g. QtGui.dll). You also have to have the mingw (I don't know the exact name) dll (should be in the mingw bin folder if I remember correctly). You can use the "dependency walker":http://www.dependencywalker.com/ to find out which ones you need!



  • but from which folder I can copy these dlls into my application folder...



  • May I kindly redirect you to the "Deploying Qt Applications":http://developer.qt.nokia.com/doc/qt-4.7/deployment.html documentation page and the various "other threads":http://developer.qt.nokia.com/search/tag/deployment on this topic please.



  • YOu should look in the folder you use, not in QtCreatiors folder:

    <Qt SDK dir>\Desktop\Qt\4.7.2\msvc2008\bin


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.