Konfiguration von qmake
Eigenschaften
qmake verfügt über ein System zur dauerhaften Konfiguration, mit dem Sie eine Eigenschaft einmalig in qmake festlegen und bei jedem Aufruf von qmake abfragen können. Sie können eine Eigenschaft in qmake wie folgt festlegen:
qmake -set PROPERTY VALUEDie entsprechenden Eigenschaften und Werte sollten anstelle von „ PROPERTY “ und „ VALUE “ eingesetzt werden.
Sie können diese Informationen wie folgt aus qmake abrufen:
qmake -query PROPERTY
qmake -query #queries all current PROPERTY/VALUE pairsHinweis: qmake -query listet neben den Eigenschaften, die Sie mit qmake -set PROPERTY VALUE festlegen, auch integrierte Eigenschaften auf.
Diese Informationen werden in einem ` QSettings `-Objekt gespeichert (das heißt, sie werden je nach Plattform an unterschiedlichen Orten abgelegt).
Die folgende Liste fasst die Eigenschaften von „ built-in “ zusammen:
- QMAKE_SPEC – der Kurzname der Host-Datei „
mkspec“, der während eines Host-Builds aufgelöst und in der Variablen QMAKESPEC gespeichert wird - QMAKE_VERSION – die aktuelle Version von qmake
- QMAKE_XSPEC – der Kurzname der Ziel
mkspec, der während eines Ziel-Builds aufgelöst und in der Variablen QMAKESPEC gespeichert wird - QT_HOST_BINS – Speicherort der ausführbaren Host-Dateien
- QT_HOST_DATA – Speicherort der Daten für Host-Ausführungsdateien, die von qmake verwendet werden
- QT_HOST_LIBS – Speicherort der Host-Bibliotheken
- QT_HOST_LIBEXECS – Speicherort der ausführbaren Dateien, die von den Host-Bibliotheken zur Laufzeit benötigt werden
- QT_HOST_PREFIX – Standardpräfix für alle Host-Pfade
- QT_INSTALL_ARCHDATA – Speicherort der allgemeinen architekturabhängigen Qt-Daten
- QT_INSTALL_BINS – Speicherort der Qt-Binärdateien (Tools und Anwendungen)
- QT_INSTALL_CONFIGURATION – Speicherort für Qt-Einstellungen. Gilt nicht unter Windows
- QT_INSTALL_DATA – Speicherort der allgemeinen, architekturunabhängigen Qt-Daten
- QT_INSTALL_DOCS – Speicherort der Dokumentation
- QT_INSTALL_EXAMPLES – Speicherort der Beispiele
- QT_INSTALL_HEADERS – Speicherort für alle Header-Dateien
- QT_INSTALL_LIBEXECS – Speicherort der von den Bibliotheken zur Laufzeit benötigten ausführbaren Dateien
- QT_INSTALL_LIBS – Speicherort der Bibliotheken
- QT_INSTALL_PLUGINS – Speicherort der Qt-Plugins
- QT_INSTALL_PREFIX – Standardpräfix für alle Pfade
- QT_INSTALL_QML – Speicherort der QML 2.x-Erweiterungen
- QT_INSTALL_TESTS – Speicherort der Qt-Testfälle
- QT_INSTALL_TRANSLATIONS – Speicherort der Übersetzungsinformationen für Qt-Zeichenfolgen
- QT_SYSROOT – das von der Ziel-Build-Umgebung verwendete Sysroot
- QT_VERSION – die Qt-Version. Wir empfehlen, stattdessen die versionsspezifischen Nummern der Qt-Module mithilfe der Variablen $$QT.<Modul>.version abzufragen.
Beispielsweise können Sie die Installation von Qt für diese Version von qmake mit der Eigenschaft „ QT_INSTALL_PREFIX “ abfragen:
qmake -query "QT_INSTALL_PREFIX"Sie können die Werte von Eigenschaften in einer Projektdatei wie folgt abfragen:
QMAKE_VERS = $$[QMAKE_VERSION]QMAKESPEC
qmake benötigt eine Plattform- und Compiler-Beschreibungsdatei, die viele Standardwerte enthält, die zur Erstellung geeigneter Makefiles verwendet werden. Die Standard-Qt-Distribution enthält viele dieser Dateien, die sich im Unterverzeichnis „ mkspecs “ der Qt-Installation befinden.
Die Umgebungsvariable „ QMAKESPEC “ kann einen der folgenden Einträge enthalten:
- Einen vollständigen Pfad zu einem Verzeichnis, das eine „
qmake.conf“-Datei enthält. In diesem Fall öffnet qmake die Datei „qmake.conf“ aus diesem Verzeichnis heraus. Wenn die Datei nicht existiert, beendet sich qmake mit einer Fehlermeldung. - Den Namen einer Plattform-Compiler-Kombination. In diesem Fall sucht qmake in dem Verzeichnis, das durch das Unterverzeichnis „
mkspecs“ des bei der Qt-Kompilierung angegebenen Datenpfads festgelegt ist (siehe QLibraryInfo::DataPath).
Hinweis: Der Pfad „ QMAKESPEC “ wird automatisch an den Inhalt der Systemvariablen „INCLUDEPATH“ angehängt und in die generierte Makefile-Datei aufgenommen.
Cache-Datei
Die Cache-Datei ist eine spezielle Datei, die qmake ausliest, um Einstellungen zu ermitteln, die weder in der Datei „ qmake.conf “, noch in den Projektdateien oder über die Befehlszeile angegeben wurden. Beim Ausführen von qmake wird in den übergeordneten Verzeichnissen des aktuellen Verzeichnisses nach einer Datei namens „ .qmake.cache “ gesucht, sofern nicht „ -nocache “ angegeben wird. Wenn qmake diese Datei nicht findet, wird dieser Verarbeitungsschritt stillschweigend übersprungen.
Wenn qmake eine „ .qmake.cache “-Datei findet, verarbeitet es diese Datei zuerst, bevor es die Projektdatei verarbeitet.
Dateiendungen
Unter normalen Umständen versucht qmake, für Ihre Plattform geeignete Dateiendungen zu verwenden. Manchmal ist es jedoch notwendig, die Standardauswahl für die jeweilige Plattform zu überschreiben und die von qmake zu verwendenden Dateiendungen explizit zu definieren. Dies wird durch die Neudefinition bestimmter integrierter Variablen erreicht. Beispielsweise kann die für moc-Dateien verwendete Dateiendung mit der folgenden Zuweisung in einer Projektdatei neu definiert werden:
QMAKE_EXT_MOC = .mymocDie folgenden Variablen können verwendet werden, um gängige, von qmake erkannte Dateiendungen neu zu definieren:
- QMAKE_EXT_MOC ändert die Dateiendung der eingebundenen moc-Dateien.
- QMAKE_EXT_UI ändert die Dateiendung, die für UI-Dateien des „ Qt Widgets -Designers“ (in der Regel im Format FORMS) verwendet wird.
- QMAKE_EXT_PRL ändert die Dateiendung von Bibliotheksabhängigkeitsdateien.
- QMAKE_EXT_LEX ändert die Endung, die in Lex-Dateien verwendet wird (normalerweise im Verzeichnis LEXSOURCES).
- QMAKE_EXT_YACC ändert das Suffix, das in Yacc-Dateien verwendet wird (normalerweise im Verzeichnis „YACCSOURCES“).
- QMAKE_EXT_OBJ ändert die Endung der generierten Objektdateien.
Alle oben genannten Variablen akzeptieren nur den ersten Wert; daher müssen Sie ihnen nur einen Wert zuweisen, der in Ihrer gesamten Projektdatei verwendet wird. Es gibt zwei Variablen, die eine Liste von Werten akzeptieren:
- QMAKE_EXT_CPP bewirkt, dass qmake alle Dateien mit diesen Endungen als C++-Quelldateien interpretiert.
- QMAKE_EXT_H bewirkt, dass qmake alle Dateien mit diesen Endungen als C- und C++-Header-Dateien interpretiert.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.