Qt-Tutorial Teil 1: Qt-Projektdatei für mehrere Betriebssysteme (Windows/Mac/Linux) einrichten
 | 
21.05.2010
 | 
16:05

Qt-Tutorial Teil 1: Qt-Projektdatei für mehrere Betriebssysteme (Windows/Mac/Linux) einrichten

Qt ist zum einen Toolset zum Erstellen von Benutzeroberflächen in C++. Interessant ist Qt aber auch, weil man die damit erstellten Programme für verschiedene Betriebssysteme kompilieren kann. Eigene Programme können demnach auf Windows, Mac und Linux kompiliert und ausgeführt werden. Doch jedes Betriebssystem bringt seine eigenen Anforderungen mit. Da ich im Netz wenig darüber gefunden habe, gebe ich hier einige kurze Hinweise, wie man ein Projekt für mehrere Betriebssysteme fit machen kann. Weitere Tutorials werden folgen.

Betriebssysteme unter der Lupe

Jedes Betriebssystem hat seine Eigenarten. Kern eines ausführbaren Programms unter Windows ist bekanntermaßen die exe-Datei. Diese enthält neben dem Programmcode auch Ressourcen – in der Regel ist das zumindest das Programmicon der Datei. Programmbibliotheken, in Windows durch die Dateiendung dll erkennbar, sollten am besten im selben Verzeichnis wie die exe-Datei liegen, solange man diese nicht systemweit zur Verfügung stellen will.

Unter Mac sind Programme eigentlich Verzeichnisse mit der Endung .app. Diese müssen nach bestimmten Kriterien aufgebaut sein und enthalten neben der eigentlichen ausführbaren Datei alle Ressourcen und die benötigten Programmbibliotheken.

Linux- und Unix-Programme werden zumeist über mehrere Verzeichnisse im gesamten System verteilt. Grund dafür ist die Unix zugrunde liegende logische Struktur.

Dazu kommen diverse Installations- und Deinstalltionsmechanismen. Die Paketsysteme unter Linux sind äußerst ausgefeilt, die von Windows einigermaßen brauchbar. Unter Mac gibt es keine eigentliche Installation oder Deinstallation – man kann den App-Ordner an einen beliebigen Punkt im System speichern oder diesen löschen, mehr nicht!

Wer Qt-Programme für mehrere Betriebssysteme entwickeln will, muss diese Eigenheiten bedenken.

Die Projektdatei: Das Herz von Qt

Die wichtigste Datei in einem Qt-Projekt ist die Projektdatei mit der Endung .pro. Diese wird per qmake automatisch erstellt. Die Projektdatei kennt Betriebssystem-spezifische Weichen, die man wie folgt einstellen kann:

Quelltext:  Alles auswählen  |  Zeilennummerierung an/aus
  1. #[...] automatisch generierte qmake-Einstellungen
  2. win32 {
  3.     message("Baue für Win.")
  4.     #Ressourcen-Referenz (Textdatei)
  5.     RC_FILE = win/myapp.rc
  6. }
  7. macx {
  8.     message("Baue für Mac.")
  9.  
  10.     #Universal Binary erstellen - welche Prozessoren unterstützen wir?
  11.     CONFIG += x86 ppc
  12.     #64-Bit-Systeme (geht nur auf einem 64-bit Mac-System)
  13.     # CONFIG += x86 ppc x86_64 ppc64
  14.     #Icon-Datei für Mac
  15.     RC_FILE = mac/CleanMails.icns
  16.     ICON = mac/CleanMails.icns
  17.  
  18.     #Einbinden der CoreFoundation von Mac
  19.     LIBS += /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
  20. }
  21. linux-g++ {
  22.     message("Baue für Linux.")
  23.     #Linux ist Standard - für den Präprozessor definieren wir es hier!
  24.     DEFINES += LINUX
  25.     #Pfadangaben für Hilfe und Übersetzungen
  26.     DEFINES += "HELPPATH=\\\"/usr/share/doc/myprog/help\\\"
  27.    DEFINES += TRANSLATIONPATH=\\\"/usr/lib/myprog/\\\"
  28. }

Wie man hier sehen kann, ist es eigentlich nicht so schwer, die grundlegenden Einstellungen vorzunehmen... Der Teufel liegt jedoch im Detail (Ich habe z.B. ewig gebraucht, um die richtigen Escape-Zeichen für die DEFINES bei Linux zu finden).

Dies war der erste Teil meines Qt-Tutorials. Im nächsten Teil werde ich auf die main-Funktion von C++ eingehen und zeigen, wie verschiedene Betriebssysteme die Übersetzungsdateien eines Programms finden können.

  •  
  • 0 Kommentare
  •  
Mein Kommentar
Ich möchte über jeden weiteren Kommentar benachrichtigt werden.

Zurück