Privacy Policy Cookie Policy Terms and Conditions Qmake - Wikipedia

Qmake

aus Wikipedia, der freien Enzyklopädie

Der korrekte Titel dieses Artikels lautet „qmake“. Diese Schreibweise ist aufgrund technischer Einschränkungen derzeit nicht möglich.

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.

Inhaltsverzeichnis

[Bearbeiten] 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.

[Bearbeiten] Arbeitsweise

[Bearbeiten] 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. Des Weiteren können unterschiedliche Konfigurationen angegeben werden. Dadurch ist qmake in der Lage, ein Makefile zu erzeugen, das 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 Kategorisierung 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.

[Bearbeiten] 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.

[Bearbeiten] 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.

[Bearbeiten] 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 nun ein sehr komplexes aber plattformspezifisches Makefile, welches sich mit make oder einem seiner Derivate ausführen lässt.

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

[Bearbeiten] Sonstiges

Neben dem Buildprozess kann in einer .pro-Datei auch noch die Installation beschrieben werden.

[Bearbeiten] Siehe auch

[Bearbeiten] Weblinks

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -