G++: statisch gelinkte Programme werden riesig

GoaSkin - Sonntag, 14. Dezember 2008 16:55:41 - 0 Antworten

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.


Antworten

Ähnliche Artikel

  • Klebebindung
    In der Fremde versagt der extra auf einen USB-Stick kopierte Terminplaner plötzlich den Dienst, weil ihm irgendeine Bibliothek nicht schmeckt. Die von Statifier und Ermine frisierten Programme laufen dagegen auf jeder beliebigen Distribution.
  • Was sind Bibliotheken?
    Abseits der Computer-Welt kennt die Institution namens Bibliothek jeder – wenn auch viele sie selten betreten. Der Alltag eines jeden PC-Benutzers wäre ohne Bibliotheken jedoch nicht so leicht zu bewältigen.
  • checkinstall
    Wer unter Linux viel aktuelle Software ausprobiert, kennt das Problem: Neueste Programmversionen existieren oft nur als tar-Archiv und lassen sich lediglich unter Klimmzügen wieder deinstallieren. Checkinstall schafft Abhilfe.
  • Opera 5.0 unter Linux
    Traurig aber wahr: Linux-Anwender werden noch ein Weilchen auf die Java-Unterstützung in Opera warten müssen. Trotzdem ist der Browser unter Linux eine Alternative. Wir haben uns das Programm in der endgültigen Version 5.0 angesehen.
  • E-Mail-Programme jenseits des Mainstreams
    Unsere MUA-Testkandidaten waren nur die Spitze des Eisbergs: Unzählige weitere buhlen weitaus weniger beachtet um die Gunst der Anwender. Bleibt die Frage: Was können die (nicht)?

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...

Stellenmarkt

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] [gelöst]_Acer_Swift
Willi Zelinka, 15.10.2017 08:04
Hallo Gerhard, Am Samstag, 14. Oktober 2017, 14:28:06 CEST schrieb Gerhard Blaschke: > Hallo Liste, &g...
Re: [EasyLinux-Ubuntu] [gelöst]_Acer_Swift
Steffen Weyh, 14.10.2017 15:34
Hallo Gerhard Das Gerät verfügt über einen M.2-Slot, früher nannte si...
Re: [EasyLinux-Ubuntu] [gelöst]_Acer_Swift
Gerhard Blaschke, 14.10.2017 14:28
Hallo Liste, das Rätsel ist gelöst: damit man manche BIOS-Einstelllungen, zB. Ausschalten von secure boot...
Re: [EasyLinux-Ubuntu] Update von Browser Vivaldi
Maik Messner, 14.10.2017 10:55
Am Montag, den 09.10.2017, 09:01 +0200 schrieb Uwe Herrmuth: Hallo Uwe > Das Ziel erreichst Du auf jeden...
Re: [EasyLinux-Ubuntu] Acer Swift
Heiko Ißleib, 13.10.2017 16:05
Hallo. Angeblich F12? Es gibt ja unterschiedliche Modelle. Gruß Heiko. Am 13.10.2017 08:35 schrieb &quo...