Seite 1 von 1
QT-Programme und .dll
Verfasst: 4. Juni 2010 14:54
von sudo rm -rf
Hallo,
muss es sein, dass ich für jedes noch so kleine Programm mit GUI .dll's in das Projekt kopieren muss, oder geht das auch anders?
Ich hab gerade .dll's in der größe von 170 MB kopiert!!!
mein Programm hat gerademal mit Creator (Windoof 7) kompiliert 4 MB, mit qmake und make unter Linux kompiliert 50 KiB
Das steht doch in keiner Relation!!!
kennt jemand einen platzsparenden weg für mich???
Verfasst: 4. Juni 2010 16:23
von RavenIV
Ja, das gibt es. Nennt sich statisches Linken.
Dabei wird in Deine exe genau das reingelinkt, was benötigt wird. Dadurch wird die exe grösser, aber Du sparst Dir das dll-kopieren.
Such mal hier im Forum nach "statisches linken".
Verfasst: 4. Juni 2010 17:04
von Christian81
Also bei mir unter Windows sind es im Release-Modus maximal 40 MB - und da meine Programme nicht alle DLLs brauchen sogar meist noch weniger.
Unter Linux hast Du das gleiche Problem - nur dass dort die Libs eben (meist) schon installiert sind...
Verfasst: 6. Juni 2010 22:31
von bbt
Die 170 MB kommen, weil du im Debug Modus buildest. Wähle mal den Release Build aus. Dann sollte sich das ganze auf höchstens 10 MB belaufen

Verfasst: 7. Juni 2010 15:18
von sudo rm -rf
ok, bin jetzt auf release build und die datei ist schon deutlich kleiner geworden (von 5 MiB auf 500 KiB)
aber wie stelle ich das mit dem statischen linken an?
ich hab im forum gesucht, aber nichts brauchbares gefunden...
ein link reicht schon,
danke!
Verfasst: 7. Juni 2010 15:23
von guenni81
Ein kurzer Hinweis zum statischen Linken möchte ich an dieser Stelle noch geben. Bedenke das du beim statischen Linken auch den Source Code bzw. die kompilierten Quelldateien mit veröffentlichen mußt, falls du keine Kommerzielle Lizenz (sondern GPL oder LGPL) nutzt und dein Programm veröffentlichen möchtest.
Verfasst: 7. Juni 2010 15:40
von sudo rm -rf
guenni81 hat geschrieben:Ein kurzer Hinweis zum statischen Linken möchte ich an dieser Stelle noch geben. Bedenke das du beim statischen Linken auch den Source Code bzw. die kompilierten Quelldateien mit veröffentlichen mußt, falls du keine Kommerzielle Lizenz (sondern GPL oder LGPL) nutzt und dein Programm veröffentlichen möchtest.
Damit hab ich nicht das geringste Problem...
liegt auch in meinem Interesse
Verfasst: 7. Juni 2010 16:01
von RHBaum
aber wie stelle ich das mit dem statischen linken an?
ich hab im forum gesucht, aber nichts brauchbares gefunden...
grob fuer visual studio:
Sourcen deiner QT version runterladen und ein eigenes Verzeichniss entpacken:
also sowas wie c:/QT/4.6.1_static
dort die help.txt nehmen und genuesslich studieren.
nach paar stunden intensivstes studium bekommt man dann ne Option zeile fuer die configure.exe raus wo unter vielem anderen auch ein " -static" drinnsteht.
die configure exe in dem verzeichniss ausfuehren.
man bekommt in dem Verzeichniss ne vcproj datei, die oeffnen und kompilieren lassen.
Im ProjectExplorer vom VC im Projecteinstellungen die Version auf die neue statische version stellen, neu kompilieren und fertig.
denk mal bei qcreator + gcc gehts aehnlich, nur das man wahrscheinlich irgendwie qmake in dem verzeichniss aufrufen muss, und die aenderungen auf die neue qt version in den .pro dateien macht.
Ciao ...
Verfasst: 7. Juni 2010 16:14
von guenni81
sudo rm -rf hat geschrieben:Damit hab ich nicht das geringste Problem...
liegt auch in meinem Interesse
Dann ist ja gut, wollte es nur wie schon gesagt an der Stelle mal noch erwähnt haben.

Verfasst: 7. Juni 2010 16:35
von sudo rm -rf
ok, danke!!!