[WxWidgets mit Code::Blocks] Größe der exe bei statischem Linken verringern
-
Hallo,
ich hab nochmal eine Frage zu WxWidgets.
Und zwar: Meine exen werden selbst bei simplen HelloWorld Programmen um die 40 mb groß, das kompilieren dauert dementsprechend.
Kann ich irgendwie Zeit und Platz sparen und wenn ja, wie?
Beste Grüße,
Thracian
-
Also 40 MB kommt mir jetzt extrem viel vor.
Auf welchem Betriebssystem läuft das und wie erstellst du das ganze (Debug, Release, Unicode)?Ich habe hier ein größeres Projekt, dass neben wxWidgets noch andere Bibliotheken nutzt. Unter windows (VC 2005) und Linux (CodeBlocks) hat die Release-Version jeweils ca. 4-5 MB. Unter Linux habe ich wxWidgets (abweichende Compilereinstellungen) und unter Windows den Rest auch noch statisch gelinkt, damit man das besser distributieren kann. Das macht das normalerweise auch eher größer als die dynamisch (DLL, .so) gelinkte Version. Die Debugversionen haben 11 bzw. 16 MB.
Du könntest mal schauen, ob da vielleicht ein paar nicht benötigte Bibliotheken dazu gelinkt werden. Es sollten dann zwar auch keine Teile mit in die ausführbare Datei wandern, ich kann aber nicht 100% sagen wie sich das verhält und bei den Beispielen ist oft alles mögliche mit angegeben. Oft wird da auch viel unnötiges includiert, wodurch die Compilezeit wächst.
Unter Windows kannst du die erstellte .Exe nachträglich noch mit upx packen. Das wird dann jedesmal beim Programmstart entpackt. An der langen Compilezeit würde das aber auch nichts ändern.
-
Du müsstest das Projekt in der Releaseversion erstellen.
Und wie hast du wxWidgets kompiliert?
-
Okay, mit der Releaseversion hat geklappt.
Sry, dass ich mit dem Problem gleich ins Forum gegangen bin, aber ich bin da einfach nicht drauf gekommen. Vielen Dank auf jeden Fall.
Beste Grüße,
Thracian
-
Thracian schrieb:
Okay, mit der Releaseversion hat geklappt.
Sry, dass ich mit dem Problem gleich ins Forum gegangen bin, aber ich bin da einfach nicht drauf gekommen. Vielen Dank auf jeden Fall.
Beste Grüße,
ThracianDafür ist das Forum ja da