Look and Feel - static Qt

Alles rund um die Programmierung mit Qt
Antworten
kumpane
Beiträge: 4
Registriert: 20. Februar 2012 15:40

Look and Feel - static Qt

Beitrag von kumpane »

Hallo qtforum,
ich versuche schon seit längeren meine Qt Applikation statisch zu erstellen, so dass die Anwendung das Look and Feel, QPlastiqueStyle, benutzt.
Unter Windows funktioniert alles. Unter x11(ubuntu) wird das PRogramm wie folgend angezeigt.

Das Programm sieht danach so aus
Bild

Den Style setzt ich in dem Programm mit folgenden Code

Code: Alles auswählen

QApplication::setStyle(new QPlastiqueStyle);
Das funktioniert auch eigentlich, muss ich jedoch bei einer statischen Build was beachten?

Meine Vermutung ist, dass der Style eben nicht mit in dem Build ist und deswegen wird das Programm so grässlich angezeigt.
Der QPlastiqueStyle ist von KDE, aber befindet sich in dem Modul QtGUI.

Hat es was mit folgenden Plugins zutun?
  • qjpeg
    qico
    qsvg
    qtiff
Das ist ein Hilferuf ;)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Look and Feel - static Qt

Beitrag von Christian81 »

Static builds können per Definition keine Plugins laden.
Abgesehen davon - warum ein Static Build unter Linux?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
kumpane
Beiträge: 4
Registriert: 20. Februar 2012 15:40

Re: Look and Feel - static Qt

Beitrag von kumpane »

Vielen Dank für dein Antwort, die Applikation soll unter Linux ohne großen Einrichtung Aufwand, für Dummys, benutzbar sein.
Wünschenswert wäre da eine Applikation die man nur noch auszuführen hat, deswegen das statische linken.
(Die Benutzer die es können und keine riesen große Applikation haben wollen, bekommen die Möglichkeit alles dynamisch zu linken.)

Aber naja das statische funktioniert ja soweit nur will das Look and Feel mit QPlastiqueStyle will sich nicht anzeigen ;)

Eine weitere Idee wäre:
Meine Applikation verwendet das QtCore und QtGUI Modul so wie eine weitere externe Bibliothek (http://www.hyperrealm.com/libconfig/) kann man diese Abhängigkeiten mit Plugins realisieren?

-----------------------------------------------------------------------------------------------------------
Mit der Konfiguration sollte es klappen

Code: Alles auswählen

./configure -static -prefix ./../qtstatic  -opensource -confirm-license -release -fast  -fontconfig 
Mit der fontconfig wird es laufen, wie kann man im pro File unter LIBS folgende Dateien einbinden ?
  • fontconfig/fontconfig.h, libfontconfig,freetype.h and libfreetype
Hat damit jemand Erfahrung?
Artemus
Beiträge: 15
Registriert: 14. Januar 2012 16:50

Re: Look and Feel - static Qt

Beitrag von Artemus »

Wenn du keine kommerzielle Lizenz hast sondern LGPL nimmst, dann darfst du gar nicht statisch linken. (Zumindest wenn ich richtig informiert bin)
kumpane
Beiträge: 4
Registriert: 20. Februar 2012 15:40

Re: Look and Feel - static Qt

Beitrag von kumpane »

Vielen Dank für diese sehr wichtige Information. Ich habe das Thema ein bisschen recherchiert,leider konnte ich kein zuverlässiges Ergebnis finden sondern eher nur Halbwissen. Deswegen will ich auch mein Halbwissen teilen ;) So wie ich dass jetzt verstanden habe verbietet die LGPL Lizenz das statische linken, denn in diesen Vorgang würde man die Qt Bibliothek als "eigene" und eben nicht als externe Bibliothek erkenntlich machen.
Zuletzt geändert von kumpane am 23. Februar 2012 16:55, insgesamt 2-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Look and Feel - static Qt

Beitrag von Christian81 »

Wenn Dein Sourcecode auch unter LGPL (oder einer vergleichenbaren Lizenz) steht dann gibts damit keine Probleme...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: Look and Feel - static Qt

Beitrag von franzf »

Nein, statisch linken ist NICHT verboten. Diese Klausel besagt nur, dass man die Qt-Libs austauschen können muss (z.B. wg. security-updates). Wenn du statisch linken willst, erreichst du das dadurch, dass du deine Objectfiles mitlieferst, so dass diese wieder zu einem executable gelinkt werden können.

Wichtig:
Das ist mein Kenntnisstand und KEINE verbindliche Rechtsauskunft! Wenn du sicher gehen willst, musst du dich an einen Anwalt wenden.
kumpane
Beiträge: 4
Registriert: 20. Februar 2012 15:40

Re: Look and Feel - static Qt

Beitrag von kumpane »

In den paar Posts über die LGPL Lizenz, wurde ganz gut zusammengefasst was möglich ist und was nicht. Vielen Dank dafür ;)

Zu den Thema von diesen Thread, es hat nichts mehr dem Look n Feel zu tun! Die Build einer statischen Qt Bibliothek muss ebenso die Abhängigkeiten für ein x11 System erfüllen. Diese Abhängigkeiten sind hier http://developer.qt.nokia.com/doc/qt-4. ... s-x11.html in der Qt Dokumentation.

Um eine Applikation zu entwickeln die so wenig wie möglich von Systembibliotheken abhängt, habe ich letztendlich eine Qt Build wie folgend konfiguriert.

Code: Alles auswählen

./configure -static -prefix ./../qtstatic -opensource -confirm-license -release -fast -no-multimedia -no-webkit -no-opengl -no-xmlpatterns -no-sql-sqlite -no-sql-mysql -no-dbus -nomake demos -nomake docs -nomake translations -fontconfig -xrender -xrandr -xcursor -xfixes -xinerama -xinput -platform linux-g++ -optimized-qmake -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-lib-jpeg
Damit wird die Applikation richtig dargestellt, das Problem ist erledigt.
Antworten