QT-Programme und .dll

Verschiedenes zu Qt
Antworten
sudo rm -rf
Beiträge: 28
Registriert: 23. Dezember 2009 13:16

QT-Programme und .dll

Beitrag 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???
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag 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".
Linux, das längste Text-Adventure aller Zeiten
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
bbt
Beiträge: 29
Registriert: 2. Februar 2010 19:21

Beitrag 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 ;)
sudo rm -rf
Beiträge: 28
Registriert: 23. Dezember 2009 13:16

Beitrag 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!
guenni81
Beiträge: 134
Registriert: 29. Juli 2006 02:22

Beitrag 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.
mfg
Günni
sudo rm -rf
Beiträge: 28
Registriert: 23. Dezember 2009 13:16

Beitrag 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
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag 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 ...
guenni81
Beiträge: 134
Registriert: 29. Juli 2006 02:22

Beitrag 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. :D
mfg
Günni
sudo rm -rf
Beiträge: 28
Registriert: 23. Dezember 2009 13:16

Beitrag von sudo rm -rf »

ok, danke!!!
Antworten