Qt-static

Aus wiki.archlinux.de
Version vom 21. Juni 2015, 17:58 Uhr von Anonymous (Sprachliche Korrektur)

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 womöglich 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 (mittels upx).


Installation

Das Programm ist als qt-staticAUR im AUR verfügbar, und kann von dort zum Beispiel mit einem der AUR Hilfsprogramme installiert werden.

pakku -S qt-static

Bei der Verwendung von AUR-Hilfsprogrammen ist zu beachten, dass Pakete niemals „blind“ installiert werden sollten. Vor dem Installieren sollten die Kommentare im AUR gelesen, und das PKGBUILD geprüft werden.

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]