Qt-static

Aus wiki.archlinux.de

Wenn man Qt Anwendungen statisch kompiliert hat man den Vorteil, dass die dynamischen Qt Bibliotheken nicht mehr zum Ausführen der Anwendung benötigt werden. Der wohl möglichst größte Nachteil ist die große Größe der Binärdatei. Deshalb soll noch eine Möglichkeit gezeigt werden, wie man eine Binärdatei komprimiert(upx).


Installation

Qt-static ist im AUR vorhanden und kann gemäß der AUR Anleitung hier im Wiki aus diesem installiert werden.

  yaourt -S qt-static


Statisch kompilieren mit qmake-static

Man kann weiterhin mit dem qtcreator seine Anwendungen schreiben, kompilieren und testen. Will man das fertige Projekt statisch machen, einfach in den Projektordner wechseln und anstatt

  qmake -project
  qmake
  make

das Projekt mit

  qmake-static -project
  qmake-static
  make

kompilieren. Und schon hat man eine statische Binärdatei.


Statisch kompilieren mit make-static-qt

Mit dem skript make-static-qt lässt sich der oben Beschrieben Weg automatisch bewältigen und man kann zusätzlich seine Anwendung mittels upx komprimieren.

In den Projektordner wechseln:

  make-static-qt

Um Fragen zu umgehen und mit upx zu komprimieren:

  make-static-qt --appname [Name der Anwendung/Pfad]


Komprimieren mit upx

Komprimierungsstufen von 1 bis 9 und die beste Stufe --best.

Schnellste Komprimierung:

  upx -1 [Pfad]

Mittelmäßig:

  upx -5 [Pfad]

Gut:

  upx -9 [Pfad]

Beste Komprimierung:

  upx --best [Pfad]