ForumG++: statisch gelinkte Programme werden riesig
GoaSkin – Sonntag, 14. Dezember 2008 16:55 Uhr

Ich schreibe ein kleines QT-Programm, das sich auch an die Mac- und Windows-User richtet. Da diese in der Regel keine QT-Bibliothek installiert haben und diese für weitere Zwecke meist auch nicht bräuchten, möchte ich statisch gelinkte Binaries anbieten.

Unter Mac OS X und Windows werden die gelinkten Programme (keine Universal Binaries unter OSX) zunächst jeweils knapp über 7MB groß, haben aber nachdem unverwendete Symbole herausgeschnitten wurden eine verbleibende Größe von jeweils ca. einem halben Megabyte. Das ist akzeptabel.

Für die Windows-Version setze ich die aktuelle Version von MinGW ein und baue die Programme dadurch mit den selben Compilern. Das Programm ist hinterher zwar nur ca. 5MB groß, jedoch ist dieses nach einem ‘dead code stripping’ nicht verkleinerbar. Der strip-Befehl erkennt dort keine überflüssigen Funktionen. Was kann ich tun, um das Programm auf eine vernünftige Größe zu bringen?

QT wurde auf allen Plattformen in der Version 4.3.5 mit den Optionen ‘-release -static -fast -no-exceptions’ und ohne Drittanbieter-Grafik- und SQL-Treiber gebaut.