QT4.2.3 (static) - standalone Progr. (ohne DLLs) erzeugen?

Alles rund um die Programmierung mit Qt
Antworten
s-valve
Beiträge: 87
Registriert: 1. April 2007 15:03
Kontaktdaten:

QT4.2.3 (static) - standalone Progr. (ohne DLLs) erzeugen?

Beitrag von s-valve »

Hallo,

nach langem rumprobieren konnte ich heute Nacht endlich die Windows-GPL Version von QT4.2.3 als release + static kompilieren.
Nun muss ich die QT DLLs nicht mehr einbinden, aber auf einem PC ohne MinGW Compiler erwartet das Programm immer noch die mingwm10.dll.
Welche Möglichkeiten gibt es dies zu unterbinden, also eine standalone .exe zu erstellen, die ohne weitere DLLs auf jedem Windowssystem lauffähig ist?

Noch was, gibt es irgendwelche Infos, wie man die .exe etwas kleiner bekommt, also einige Bibliotheken weg lassen kann, die nicht verwendet werden? Mein Kompilat aus dem QT4 examples Ordner Richtext/Syntaxhighlighter war jetzt 7,45 MB groß. Gut UPX schrumpft es auf 2,48 MB, aber wirklich schön ist die Größe nicht, wenn man von bspw. BCB 1MB als Standalone für ein wesentlich umfangreiches Prog gewohnt ist.

Gruß M
webmaster1987
Beiträge: 73
Registriert: 2. September 2006 18:30
Wohnort: Köln
Kontaktdaten:

Beitrag von webmaster1987 »

Im Wiki steht zwar wenig drin aber dein Problem wird da perfekt gelöst ;-)

http://www.qtwiki.de/wiki/Mingw10.dll

Und zu der Programm größe kann ich nur sagen das Qt immer nur ganze bereiche einbindet z.B. GUI oder SQL etc. und die sind eben schon ganz schön groß andere IDEs fassen die Bereiche kleiner die dann eingebunden werden müssen oder greifen wie z.B. der MFC auf System DLL zurück.
DOUBLE ist wie FLOAT nur in HD
s-valve
Beiträge: 87
Registriert: 1. April 2007 15:03
Kontaktdaten:

Danke

Beitrag von s-valve »

Danke, kompiliere dann QT mal erneut ohne die -mthreads Einträge in der qmake Konfigurationsdatei.
Für die andere Frage wird mir dann wohl nur UPX als kleine Abhilfe bleiben.

Gruß M
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

upx 2.93 (beta) kann lzma -> '--lzma' was nochmal ~30% bringt
Ausserdem würde ich Qt mit so wenig Optionen wie möglich kompilieren -> musst du aber wissen (z.B. --no-stl --no-rtti --no-qt3support) was Du entbehren kannst.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
gerome69
Beiträge: 188
Registriert: 28. April 2006 22:50
Wohnort: Berlin
Kontaktdaten:

Re: Danke

Beitrag von gerome69 »

s-valve hat geschrieben:Danke, kompiliere dann QT mal erneut ohne die -mthreads Einträge in der qmake Konfigurationsdatei.
Du brauchst deine statischen Qt-Libs nicht neu zu kompilieren.
Entferne nur in %QTDIR%\mkspecs\win32-g++\qmake.conf
alle "-mthreads". Dann müßte es ohne die mingw10.dll-Abhängigkeit laufen.

B.
Antworten