Qmake

Software
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. Dezember 2005 um 01:56 Uhr durch Kingruedi (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

qmake ist ein Generator für sog. Makefiles. Es ist Teil der Qt-Bibliothek der Firma Trolltech. qmake erstellt ausgehend von einer Konfigurationsbeschreibung ein Makefile, mit dessen Hilfe man in der Lage ist, eine Sammlung von Quelltexten zu einem Programm oder einer Bibliothek zu übersetzen. Obwohl es speziell für die Arbeit mit Qt entwickelt worden ist, ist auch eine Verwendung für von Qt unabhängige Software möglich.

Verwendung

Da Makefiles je nach Compiler und Plattform unterschiedlich aussehen, ist eine plattformübergreifende Entwicklung kaum möglich. Hier greift das Konzept von qmake. Es benötigt eine sehr einfach aufgebaute Projekt-Datei, die die Dateiendung .pro besitzt. Auf allen von qmake unterstützten Plattformen ist nun eine Erzeugung eines Makefiles möglich, dass auf dem jeweiligen System verwendet werden kann.

Arbeitsweise

Die Projekt-Datei

Eine Projekt-Datei für qmake umfasst zunächst eine Beschreibung, ob es sich bei dem aktuellen Projekt um ein Programm oder um eine Bibliothek handelt. Desweiteren können unterschiedliche Konfigurationen angegeben werden. Dadurch ist qmake in der Lage, ein Makefile zu erzeugen, dass die benötigten Bibliotheken korrekt einbindet. Ebenso ist der Programmierer in der Lage, Debug- oder Release-Versionen seines Programms zu erzeugen.

Schließlich muss der Programmierer noch alle Quelltext-Dateien angeben, die zu seinem Programm gehören. Dabei ist eine Kategoriesierung der Dateien nötig. Diese erfolgt, wie in C++ üblich, in Header- und Quelltext-Dateien. Zusätzlich sind auch Ressource-Dateien möglich, die entweder Bilder, Dialogdefinitionen oder andere Daten enthalten, die zum Programm hinzu gehören.

Weitere Besonderheiten

qmake erstellt aus der .pro-Datei dann ein Makefile, wobei es auch die angegebenen Quell-Dateien untersucht. So ist es möglich, geeignet mit den Qt-spezifischen Erweiterungen an C++ umzugehen.

Ergebnis

Im Ergebnis findet der Programmierer nach einem erfolgreichen Lauf von qmake ein Makefile vor, mit Hilfe dessen das gewünschte Programm erzeugt werden kann. Dabei werden sowohl sämtliche Abhängigkeiten beachtet als auch weitere Regeln im Makefile definiert, mit denen die Ergebnisse des Compilers wieder gelöscht werden können. Auch beinhaltet das Makefile eine Regel zum Installieren des erzeugten Programms.

Beispiel

# beispiel.pro
TEMPLATE = app
HEADERS += mainwindow.h
SOURCES += mainwindow.cpp main.cpp
RESOURCES += mainwindow.qrc

Nach dem ausführen des Befehles qmake beispiel.pro existiert num ein sehr komplexes aber plattformspezifisches Makefile, welches sich mit make oder eines seiner Derivaten ausführen läßt.

Es lassen sich auch Projektdateien für Microsoft-IDEs erstellen.

Sonstiges

Neben dem Builtprozess kann in einer .pro-Datei auch noch die Installation beschieben werden.

Siehe auch

  • doc.trolltech.com/3.0/qmake-manual.html - qmake Handbuch (englisch)