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.
  • 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)?
  • 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.

Aktuelle Fragen

Scannen nicht möglich
Werner Hahn, 19.08.2016 22:33, 3 Antworten
Laptop DELL Latitude E6510 mit Ubuntu 16,04, Canon Pixma MG5450. Das Drucken funktioniert, Scann...
Wie kann man das berichtigen
Udo Muelle, 17.07.2016 20:39, 1 Antworten
Fehlschlag beim Holen von http://extra.linuxmint.com/dists/rosa/main/binary-i386/Packages Hash-S...
Installation Genimotion
Horst Müller, 15.07.2016 17:00, 1 Antworten
Hallo, ich kann Genimotion nicht installieren. Folgende Fehlermeldung habe ich beim Aufruf erh...
Probleme beim Hochfahren der Terastaion 5400 mit Unix-Distrib
Sheldon Cooper, 10.07.2016 09:32, 0 Antworten
Hallo ihr lieben, habe seit zwei Tagen das Problem, das das NAS (Raid5) nicht mehr sauber hoch...
Mit Firewire Videos improtieren?
Werner Hahn, 09.06.2016 11:06, 5 Antworten
Ich besitze den Camcorder Panasonic NV-GS330, bei dem die Videos in guter Qualität nur über den 4...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Ubuntu 16.04 LTS starten sehr langsam
Uwe Herrmuth, 24.08.2016 08:00
Hallo Reinhard, Reinhard schrieb am 19.08.2016 um 17:02: > reinhard@reinhard-P45A01:~$ sudo tune2fs -l /...
Re: [EasyLinux-Suse] Kein Booten von opensuse Leap42
Heiko, 23.08.2016 22:30
Am Dienstag, 23. August 2016, 19:49:53 schrieb Udo Teichmann: Hallo Udo > > Seit vorgestern bootet...
[EasyLinux-Suse] Kein Booten von opensuse Leap42
Udo Teichmann, 23.08.2016 19:49
Hallo Liste Seit vorgestern bootet der Laptop mit opensuse Leap42 nicht mehr.Wenn ich das Bild beim Booten...
Re: [EasyLinux-Ubuntu] Prozessor_für_Debian_9_Stretch
Karl-Heinz, 23.08.2016 19:41
Am Mon, 22 Aug 2016 20:02:08 +0200 schrieb Richard Kraut : > Am Montag, den 22.08.2016, 19:04 +0200 schr...
Re: [EasyLinux-Ubuntu] Prozessor_für_Debian_9_Stretch
Richard Kraut, 22.08.2016 20:02
Am Montag, den 22.08.2016, 19:04 +0200 schrieb Karl-Heinz: > ich brauch mal eine unkompliziert erklärende...