QT Programme weitergeben



  • Hi Leute,

    um ein QT Programm weiter zu geben gibt es ja bekanntlich 2 Möglichkeiten:

    1.) Statisch linken (bläht .exe ziemlich auf und seit 4.5 auch nicht mehr so einfach)

    2.) Ich liefere die DLLs mit (QtCore4.dll , QtGui4.dll , mingwm10.dll)

    Dachte mir natürlich die zweite Lösung wäre fürs erste die simpelste, einfach DLLs runterziehen und fertig, funktioniert auch soweit nur jetzt hat mein Programm (normal : 120kb -> mit DLLs : 14MB).

    Nehme ich die falschen DLLs oder woran kann das liegen (oder ist es wirklich so gedacht das man 13.9MB DLLs mit jedem Programm mitliefern muss ?

    Gruß

    Schattenfang



  • Hast du gegen die Release-Runtime gelinkt oder gegen Debug?
    Und ansonsten ja, QT ist verdammt groß :D.
    Lad dir mal http://dependencywalker.com/ runter. Damit kanns du schauen, welche DLL du wirklich brauchst. Das könnte die Abhängigkeiten nochmal reduzieren.
    rya.



  • 1.) Statisch linken (bläht .exe ziemlich auf und seit 4.5 auch nicht mehr so einfach)

    Statisch linken ist - wie vorher auch - immer noch möglich, du musst dein Programm allerdings unter der GPL veröffentlichen.



  • pyromania schrieb:

    1.) Statisch linken (bläht .exe ziemlich auf und seit 4.5 auch nicht mehr so einfach)

    Statisch linken ist - wie vorher auch - immer noch möglich, du musst dein Programm allerdings unter der GPL veröffentlichen.

    Wo stelle ich das statische Linken im Creator ein bzw. was ist gemeint mit "unter der GPL veröffentlichen" ?

    @scorcher: mit Dependency Walker habe ich auch gearbeitet und er nannte diese 3 DLLs (zusammen ca. 13.5 MB groß), gibt es schon eine Möglichkeit das der Qt Creator eine eigene DLL mitliefert in der nur benötigte Klassen enthalten sind ? (in den allgemeinen ist Network usw. dabei)



  • Statische Bindung kannst du im QTCreator nicht einstellen. Mit unter "GPL" veröffentlichen heisst, du musst den SourceCode öffentlich zugänglich machen, wenn du statisch linkst, da die LGPL dies nicht erlaubt. Die Aufteilung der versch. Sektionen lässt sich auch nicht ändern. QT ist modular aufgebaut, aber hat man einmal eine Abhängigkeit zu einem Teil, muss man es halt mitliefern, egal wieviel man davon wirklich braucht. Btw wäre dein Programm mit statischer Bindung auch mehrere MB groß, die 120KB kommen nur durch die dynamische Bindung.
    rya.



  • Und gibt es noch eine Möglichkeit (z.B. ein Runtime Kit) für QT, damit andere Sachen wie z.B. Debug Commands etc. aus der Bibliothek rausfallen ?

    Und welche Möglichkeiten habe ich noch seit QT 4.5 möglichst einfach statisch zu linken ?


Anmelden zum Antworten