Qt-static

Aus wiki.archlinux.de
Wechseln zu: Navigation, Suche

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

Das Programm ist als qt-staticAUR im AUR verfügbar, und kann von dort zum Beispiel mittels Yaourt installiert werden.

yaourt -S qt-static
Bei der Verwendung von Yaourt ist zu beachten, dass Pakete niemals „blind“ installiert werden sollten. Vor dem Installieren mit Yaourt 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]