Variablen
Das grundsätzliche Verhalten von qmake wird durch Variablendeklarationen beeinflusst, die den Build-Prozess eines jeden Projekts definieren. Einige dieser Variablen deklarieren Ressourcen, wie z.B. Header und Quelldateien, die für jede Plattform gleich sind. Andere werden verwendet, um das Verhalten von Compilern und Linkern auf bestimmten Plattformen anzupassen.
Plattformspezifische Variablen folgen dem Namensmuster der Variablen, die sie erweitern oder modifizieren, enthalten aber den Namen der jeweiligen Plattform in ihrem Namen. Zum Beispiel kann ein Makespec QMAKE_LIBS
verwenden, um eine Liste von Bibliotheken zu spezifizieren, gegen die jedes Projekt linken muss, und QMAKE_LIBS_X11
würde verwendet werden, um diese Liste zu erweitern.
ANDROID_ABIS
Hinweis: Diese Variable gilt nur für Android-Targets.
Gibt eine Liste von Android-Ziel-ABIs an. Gültige Werte sind: armeabi-v7a, arm64-v8a, x86, x86_64.
Sie können die ABIs als qmake-Argument angeben:
qmake ANDROID_ABIS="armeabi-v7a arm64-v8a"
Hinweis: Es ist möglich, diese Variable innerhalb der *.pro-Datei zu verwenden, es wird jedoch nicht empfohlen, da sie alle ABIs überschreibt, die auf der Befehlszeile qmake
angegeben wurden.
ANDROID_API_VERSION
Hinweis: Diese Variable gilt nur für Android-Ziele.
Gibt die Nummer der Android-API-Stufe an. Weitere Informationen finden Sie unter Android Build-Nummern.
ANDROID_ANWENDUNG_ARGUMENTE
Hinweis: Diese Variable gilt nur für Android-Ziele.
Gibt zusätzliche Befehlszeilenargumente für die Android-App unter Verwendung von AndroidManifest.xml
mit dem Tag "android.app.arguments" an. Diese Variable nimmt eine Zeichenkette von Argumenten auf:
ANDROID_APPLICATION_ARGUMENTS = "arg1 arg2 arg3"
ANDROID_BUNDLED_JAR_DEPENDENCIES
Hinweis: Diese Variable gilt nur für Android-Module.
Sie ist nützlich, wenn Sie ein Qt-Modul schreiben. Sie spezifiziert eine Liste von vorgebündelten Abhängigkeiten, die vom Modul verwendet werden, z.B. in einem .jar
Format:
ANDROID_BUNDLED_JAR_DEPENDENCIES += jar/Qt6Android.jar
ANDROID_DEPLOYMENT_DEPENDENCIES
Hinweis: Diese Variable gilt nur für Android-Ziele.
Standardmäßig wird androiddeployqt die Abhängigkeiten Ihrer Anwendung erkennen. Da jedoch die Verwendung von Plugins zur Laufzeit nicht erkannt werden kann, kann es zu Fehlalarmen kommen, da Ihre Anwendung von jedem Plugin abhängen könnte, das eine potenzielle Abhängigkeit darstellt. Wenn Sie die Größe Ihrer APK
minimieren möchten, können Sie die automatische Erkennung mit Hilfe der Variable this außer Kraft setzen. Diese sollte eine Liste aller Qt-Dateien enthalten, die eingebunden werden müssen, mit Pfaden relativ zum Qt-Installationsstamm.
Hinweis: Nur die mit dieser Variable angegebenen Qt-Dateien werden eingebunden. Wenn Sie nicht alle richtigen Dateien einbinden, kann dies zu Abstürzen führen. Es ist auch wichtig, dass die Dateien in der richtigen Reihenfolge zum Laden aufgelistet werden. Diese Variable bietet die Möglichkeit, die automatische Erkennung komplett außer Kraft zu setzen. Wenn also eine Bibliothek vor ihren Abhängigkeiten aufgelistet wird, kann sie auf einigen Geräten nicht geladen werden.
ANDROID_DEPLOYMENT_SETTINGS_FILE
Hinweis: Diese Variable gilt nur für Android-Ziele.
Gibt den Pfad zu der Datei android-deployment-settings.json
an, die von androiddeployqt und androidtestrunner
benötigt wird. Dies überschreibt den Pfad zur Einstellungsdatei, die von qmake generiert wird, daher müssen Sie sicherstellen, dass Sie eine gültige Einstellungsdatei angeben.
ANDROID_EXTRA_LIBS
Hinweis: Diese Variable gilt nur für Android-Targets.
Eine Liste von externen Bibliotheken, die in den libs
Ordner Ihrer Anwendung kopiert und beim Start geladen werden sollen. Dies kann z. B. verwendet werden, um OpenSSL in Ihrer Anwendung zu aktivieren. Weitere Informationen finden Sie unter Hinzufügen von OpenSSL-Unterstützung für Android.
Um externe Bibliotheken für mehrere ABIs einzubinden, wobei jedes ABI sein eigenes Verzeichnis hat, verwenden Sie Folgendes:
for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/$${abi}/library_name.so
Andernfalls, wenn die ABI im Bibliotheksnamen enthalten ist, verwenden Sie den folgenden:
for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/library_name_$${abi}.so
ANDROID_EXTRA_PLUGINS
Hinweis: Diese Variable gilt nur für Android-Ziele.
Gibt einen Pfad zu C++-Plugins oder Ressourcen an, die Ihre Anwendung bündeln muss, die aber nicht über das Asset-System bereitgestellt werden können, wie z. B. QML-Plugins. Mit dieser Variable stellt androiddeployqt sicher, dass alles richtig verpackt und bereitgestellt wird.
ANDROID_EXTRA_PLUGINS
muss auf das Verzeichnis verweisen, in dem das/die zusätzliche(n) Plugin(s) gebaut werden. Außerdem muss die Struktur des Build-Verzeichnisses einer ähnlichen Namenskonvention folgen wie die der Qt-Plugins, d.h. plugins/<plugin name>.
Die Plugin-Bibliotheken sollten das Namensformat libplugins_<Typ>_<Name>_<abi>.so haben. Um dies zu erreichen, könnte die plugin pro Datei wie folgt definiert werden:
TEMPLATE = lib CONFIG += plugin PLUGIN_TYPE = imageformats DESTDIR = $$top_builddir/plugins/myplugin TARGET = $$qt5LibraryTarget(myplugin, "plugins/$$PLUGIN_TYPE/")
mit top_builddir definiert in .qmake.conf als:
top_builddir=$$shadowed($$PWD)
Damit wird sichergestellt, dass die korrekte Namensumwandlung auf die Plugin-Bibliothek(plugins/myplugin/libplugins_imageformats_myplugin_armeabi-v7a.so) angewendet wird.
Angenommen, ein zusätzliches Bildformat-Plugin myplugin wird als $$DESTDIR/plugins/myplugin/ gebaut, dann stellt das Folgende sicher, dass es korrekt verpackt wird:
ANDROID_EXTRA_PLUGINS += $$top_builddir/plugins
ANDROID_FEATURES
Hinweis: Diese Variable gilt nur für Android-Module.
Gibt die Feature-Liste eines Moduls an:
ANDROID_FEATURES += android.hardware.location.gps
Weitere Informationen finden Sie unter Android <uses-feature> Docs.
ANDROID_LIB_DEPENDENCIES
Hinweis: Diese Variable gilt nur für Android-Module.
Dies ist nützlich, wenn Sie ein Qt-Modul schreiben. Sie gibt eine Liste von vorgefertigten Abhängigkeiten an, die zum Beispiel vom Modul verwendet werden:
ANDROID_LIB_DEPENDENCIES += \ plugins/libplugins_platforms_qtforandroid.so
ANDROID_MIN_SDK_VERSION
Hinweis: Diese Variable gilt nur für Android-Ziele.
Gibt den minimalen Android-API-Level für das Projekt an. Standardmäßig ist diese Variable auf API-Level 23 gesetzt.
ANDROID_PACKAGE_SOURCE_DIR
Hinweis: Diese Variable gilt nur für Android-Ziele.
Gibt den Pfad für eine benutzerdefinierte Android-Paketvorlage an. Die Android-Paketvorlage enthält:
- AndroidManifest.xml-Datei
- build.gradle-Datei und andere Gradle-Skripte
- res/values/libs.xml-Datei
Der durch diese Variable angegebene Pfad kann benutzerdefinierte Java-Klassen im Verzeichnis src
enthalten. Standardmäßig kopiert das androiddeployqt-Tool die Anwendungsvorlage aus dem Qt für Android-Installationspfad in das Build-Verzeichnis Ihres Projekts und kopiert dann den Inhalt des durch diese Variable angegebenen Pfads darüber hinaus, wobei alle vorhandenen Dateien überschrieben werden. Sie können zum Beispiel eine benutzerdefinierte AndroidManifest.xml
für Ihre Anwendung erstellen und diese dann direkt in das durch diese Variable angegebene Verzeichnis kopieren.
ANDROID_PERMISSIONS
Hinweis: Diese Variable gilt nur für Android-Module.
Gibt die Liste der Berechtigungen für ein Modul an:
ANDROID_PERMISSIONS += android.permission.ACCESS_FINE_LOCATION
Weitere Informationen finden Sie unter Android <uses-permission> Docs.
ANDROID_TARGET_SDK_VERSION
Hinweis: Diese Variable gilt nur für Android-Ziele.
Gibt die Android-API-Zielebene für das Projekt an. Standardmäßig ist diese Variable auf API-Level 34 eingestellt.
ANDROID_VERSION_CODE
Hinweis: Diese Variable gilt nur für Android-Ziele.
Gibt die Versionsnummer der Anwendung an. Weitere Informationen finden Sie unter Android App Versionierung.
ANDROID_VERSION_NAME
Hinweis: Diese Variable gilt nur für Android-Ziele.
Gibt die Version der Anwendung in Form einer von Menschen lesbaren Zeichenfolge an. Weitere Informationen finden Sie unter Android App Versionierung.
CONFIG
Gibt die Projektkonfiguration und Compiler-Optionen an. Die Werte werden intern von qmake erkannt und haben eine besondere Bedeutung.
Hinweis: Bei den Werten wird zwischen Groß- und Kleinschreibung unterschieden.
Die folgenden CONFIG
Werte steuern Compiler- und Linker-Flags:
Option | Beschreibung |
---|---|
release | Das Projekt soll im Release-Modus erstellt werden. Wenn debug ebenfalls angegeben ist, wird die letzte Option wirksam. |
Fehlersuche | Das Projekt soll im Debug-Modus erstellt werden. |
debug_and_release | Das Projekt ist so vorbereitet, dass es sowohl im Debug- als auch im Release-Modus erstellt werden kann. |
debug_and_release_target | Diese Option ist standardmäßig gesetzt. Wenn debug_and_release ebenfalls gesetzt ist, landen die Debug- und Release-Builds in separaten Debug- und Release-Verzeichnissen. |
build_all | Wenn debug_and_release angegeben ist, wird das Projekt standardmäßig sowohl im Debug- als auch im Release-Modus erstellt. |
autogen_precompile_source | Erzeugt automatisch eine .cpp Datei, die die in der .pro Datei angegebene vorkompilierte Header-Datei enthält. |
bestellt | Bei Verwendung der Vorlage subdirs gibt diese Option an, dass die aufgeführten Verzeichnisse in der angegebenen Reihenfolge verarbeitet werden sollen.Hinweis: Von der Verwendung dieser Option wird abgeraten. Geben Sie Abhängigkeiten an, wie in der Dokumentation der Variablen SUBDIRS beschrieben. |
precompile_header | Aktiviert die Unterstützung für die Verwendung von vorkompilierten Headern in Projekten. |
precompile_header_c (nur MSVC) | Aktiviert die Unterstützung für die Verwendung von vorkompilierten Headern für C-Dateien. |
warn_on | Der Compiler soll so viele Warnungen wie möglich ausgeben. Wenn warn_off ebenfalls angegeben ist, wird die letzte Warnung wirksam. |
warn_off | Der Compiler soll so wenig Warnungen wie möglich ausgeben. |
Ausnahmen | Die Unterstützung von Ausnahmen ist aktiviert. Standardmäßig gesetzt. |
ausnahmen_aus | Die Unterstützung von Ausnahmen ist deaktiviert. |
ltcg | Die Generierung von Link-Time-Code ist aktiviert. Diese Option ist standardmäßig ausgeschaltet. |
rtti | Die RTTI-Unterstützung ist aktiviert. Standardmäßig wird die Voreinstellung des Compilers verwendet. |
rtti_aus | Die RTTI-Unterstützung ist deaktiviert. Standardmäßig wird die Voreinstellung des Compilers verwendet. |
stl | Die STL-Unterstützung ist aktiviert. Standardmäßig wird die Voreinstellung des Compilers verwendet. |
stl_aus | Die STL-Unterstützung ist deaktiviert. Standardmäßig wird die Voreinstellung des Compilers verwendet. |
thread | Die Thread-Unterstützung ist aktiviert. Dies ist aktiviert, wenn CONFIG qt enthält, was die Voreinstellung ist. |
no_utf8_source | Gibt an, dass die Quelldateien des Projekts nicht die UTF-8-Kodierung verwenden. Stattdessen wird die Standardeinstellung des Compilers verwendet. |
hide_symbols | Setzt die Standardsichtbarkeit von Symbolen in der Binärdatei auf hidden. Standardmäßig wird die Vorgabe des Compilers verwendet. |
c99 | Die C99-Unterstützung ist aktiviert. Diese Option hat keine Auswirkungen, wenn der Compiler C99 nicht unterstützt oder den C-Standard nicht auswählen kann. Standardmäßig wird die Voreinstellung des Compilers verwendet. |
c11 | Die C11-Unterstützung ist aktiviert. Diese Option hat keine Auswirkung, wenn der Compiler C11 nicht unterstützt oder den C-Standard nicht auswählen kann. Standardmäßig wird die Voreinstellung des Compilers verwendet. |
c17 | Die Unterstützung für C17, auch bekannt als C18, ist aktiviert. Diese Option hat keine Auswirkungen, wenn der Compiler C17 nicht unterstützt oder den C-Standard nicht auswählen kann. Standardmäßig wird die Vorgabe des Compilers verwendet. |
c18 | Dies ist ein Alias für den Wert c17 . |
strict_c | Deaktiviert die Unterstützung für C-Compiler-Erweiterungen. In der Voreinstellung sind sie aktiviert. |
c++11 | Die C++11-Unterstützung ist aktiviert. Diese Option hat keine Wirkung, wenn der Compiler C++11 nicht unterstützt oder den C++-Standard nicht auswählen kann. In der Voreinstellung ist die Unterstützung aktiviert. |
c++14 | Die C++14-Unterstützung ist aktiviert. Diese Option hat keine Auswirkung, wenn der Compiler C++14 nicht unterstützt oder den C++-Standard nicht auswählen kann. In der Voreinstellung ist die Unterstützung aktiviert. |
c++17 | Die Unterstützung für C++17 ist aktiviert. Diese Option hat keine Auswirkung, wenn der Compiler C++17 nicht unterstützt oder den C++-Standard nicht auswählen kann. In der Voreinstellung ist die Unterstützung aktiviert. |
c++1z | Veralteter Alias für c++17. |
c++20 | Die Unterstützung von C++20 ist aktiviert. Diese Option hat keine Auswirkungen, wenn der Compiler C++20 nicht unterstützt oder den C++-Standard nicht auswählen kann. Standardmäßig ist die Unterstützung deaktiviert. |
c++2a | Veralteter Alias für c++20. |
c++latest | Die Unterstützung für den neuesten C++-Sprachstandard ist aktiviert. Diese Option ist vor allem für MSVC nützlich, das ein /std:c++latest Compiler-Argument unterstützt. Für andere Toolchains aktiviert diese Option den neuesten C++-Standard, der Qt bekannt ist. Standardmäßig ist diese Option deaktiviert. |
strict_c++ | Deaktiviert die Unterstützung für C++-Compilererweiterungen. In der Voreinstellung sind sie aktiviert. |
depend_includepath | Das Anhängen des Wertes von INCLUDEPATH an DEPENDPATH ist aktiviert. Standardmäßig eingestellt. |
lrelease | Führt lrelease für alle in TRANSLATIONS und EXTRA_TRANSLATIONS aufgeführten Dateien aus. Wenn embed_translations nicht gesetzt ist, installieren Sie die generierten .qm-Dateien in QM_FILES_INSTALL_PATH. Verwenden Sie QMAKE_LRELEASE_FLAGS, um Optionen für den lrelease-Aufruf hinzuzufügen. Standardmäßig nicht gesetzt. |
embed_translations | Bettet die von lrelease generierten Übersetzungen in die ausführbare Datei ein, unter QM_FILES_RESOURCE_PREFIX. Erfordert, dass lrelease ebenfalls gesetzt ist. Standardmäßig nicht gesetzt. |
erstellen_libtool | Erzeugt eine libtool .la-Datei für die aktuell erstellte Bibliothek. |
erstellen_pc | Erzeugt eine pkg-config .pc Datei für die aktuell erstellte Bibliothek. |
no_batch | Nur NMake: Schaltet die Generierung von NMake-Batch-Regeln oder Inferenzregeln aus. |
skip_target_version_ext | Unterdrückt die automatische Versionsnummer, die unter Windows an den DLL-Dateinamen angehängt wird. |
suppress_vcproj_warnings | Unterdrückt Warnungen des VS-Projektgenerators. |
windeployqt | Ruft windeployqt nach dem Linken automatisch auf und fügt die Ausgabe als Deployment-Elemente hinzu. |
dont_recurse | Unterdrückt qmake-Rekursion für das aktuelle Unterprojekt. |
no_include_pwd | Füge das aktuelle Verzeichnis nicht zu INCLUDEPATHS hinzu. |
compile_included_sources | Standardmäßig kompiliert qmake keine Quelldateien, die in anderen Quelldateien enthalten sind. Diese Option schaltet dieses Verhalten ab. |
Wenn Sie die Option debug_and_release
verwenden (was unter Windows der Standard ist), wird das Projekt dreimal verarbeitet: einmal, um ein "Meta"-Makefile zu erzeugen, und zwei weitere Male, um ein Makefile.Debug und ein Makefile.Release zu erzeugen.
Bei den letztgenannten Durchläufen wird build_pass
und die entsprechende Option debug
oder release
an CONFIG
angehängt. Dies ermöglicht die Durchführung von Build-spezifischen Aufgaben. Ein Beispiel:
build_pass:CONFIG(debug, debug|release) { unix: TARGET = $$join(TARGET,,,_debug) else: TARGET = $$join(TARGET,,,d) }
Als Alternative zum manuellen Schreiben von Build-Typ-Bedingungen bieten einige Variablen build-spezifische Varianten an, zum Beispiel QMAKE_LFLAGS_RELEASE zusätzlich zu den allgemeinen QMAKE_LFLAGS. Diese sollten verwendet werden, wenn sie verfügbar sind.
Das Meta-Makefile macht die Sub-Builds über die Ziele debug
und release
aufrufbar, und einen kombinierten Build über das Ziel all
. Wenn die Option build_all
CONFIG
verwendet wird, ist der kombinierte Build der Standard. Andernfalls bestimmt die zuletzt angegebene CONFIG
Option aus dem Satz (debug
, release
) die Vorgabe. In diesem Fall können Sie das Ziel all
explizit aufrufen, um beide Konfigurationen auf einmal zu erstellen:
make all
Hinweis: Die Details sind bei der Erstellung von Visual Studio- und Xcode-Projekten leicht unterschiedlich.
Beim Linken einer Bibliothek verlässt sich qmake auf die zugrundeliegende Plattform, um zu wissen, gegen welche anderen Bibliotheken diese Bibliothek linkt. Wenn jedoch statisch gelinkt wird, erhält qmake diese Information nicht, es sei denn, wir verwenden die folgenden CONFIG
Optionen:
Option | Beschreibung |
---|---|
create_prl | Diese Option ermöglicht es qmake, diese Abhängigkeiten zu verfolgen. Wenn diese Option aktiviert ist, erstellt qmake eine Datei mit der Endung .prl , die Meta-Informationen über die Bibliothek speichert (siehe Bibliotheksabhängigkeiten für weitere Informationen). |
link_prl | Wenn diese Option aktiviert ist, verarbeitet qmake alle Bibliotheken, die von der Applikation gelinkt werden, und findet deren Metainformationen (siehe Bibliotheksabhängigkeiten für weitere Informationen). |
no_install_prl | Diese Option schaltet die Generierung von Installationsregeln für generierte .prl-Dateien ab. |
Hinweis: Die Option create_prl
ist erforderlich, wenn eine statische Bibliothek erstellt wird, während link_prl
erforderlich ist, wenn eine statische Bibliothek verwendet wird.
Die folgenden Optionen definieren den Anwendungs- oder Bibliothekstyp:
Option | Beschreibung |
---|---|
qt | Das Ziel ist eine Qt-Anwendung oder -Bibliothek und benötigt die Qt-Bibliothek und Header-Dateien. Die richtigen Include- und Bibliothekspfade für die Qt-Bibliothek werden automatisch zum Projekt hinzugefügt. Dies ist standardmäßig definiert und kann mit der QT-Variablen fein abgestimmt werden. |
x11 | Das Ziel ist eine X11-Anwendung oder -Bibliothek. Die entsprechenden Include-Pfade und Bibliotheken werden dem Projekt automatisch hinzugefügt. |
testcase | Bei dem Ziel handelt es sich um einen automatisierten Test. Dem generierten Makefile wird ein Prüfziel hinzugefügt, um den Test auszuführen. Nur relevant bei der Erzeugung von Makefiles. |
unbedeutend_test | Der Exit-Code des automatisierten Tests wird ignoriert. Nur relevant, wenn testcase ebenfalls gesetzt ist. |
Fenster | Das Ziel ist eine Win32-Fensteranwendung (nur app). Die richtigen Include-Pfade, Compiler-Flags und Bibliotheken werden dem Projekt automatisch hinzugefügt. |
Konsole | Das Ziel ist eine Win32-Konsolenanwendung (nur für Anwendungen). Die richtigen Include-Pfade, Compiler-Flags und Bibliotheken werden dem Projekt automatisch hinzugefügt. Für plattformübergreifende Anwendungen sollten Sie die Option cmdline verwenden. |
cmdline | Das Ziel ist eine plattformübergreifende Befehlszeilenanwendung. Unter Windows impliziert dies CONFIG += console . Unter macOS bedeutet dies CONFIG -= app_bundle . |
shared | Das Ziel ist ein freigegebenes Objekt/DLL. Die richtigen Include-Pfade, Compiler-Flags und Bibliotheken werden dem Projekt automatisch hinzugefügt. Beachten Sie, dass dll auch auf allen Plattformen verwendet werden kann; es wird eine Shared-Library-Datei mit dem entsprechenden Suffix für die Zielplattform (.dll oder .so) erstellt. |
dll | |
statisch | Das Ziel ist eine statische Bibliothek (nur lib). Die entsprechenden Compiler-Flags werden dem Projekt automatisch hinzugefügt. |
staticlib | |
plugin | Das Ziel ist ein Plugin (nur lib). Dadurch wird auch dll aktiviert. |
designer | Das Ziel ist ein Plugin für Qt Widgets Designer. |
no_lflags_merge | Stellt sicher, dass die Liste der Bibliotheken, die in der Variable LIBS gespeichert ist, nicht auf eine Liste eindeutiger Werte reduziert wird, bevor sie verwendet wird. |
metatypes | Erstellt eine <name>_metatypes.json Datei für das aktuelle Projekt. <name> ist der Basisname von TARGET in Kleinbuchstaben. |
qmltypes | Automatische Registrierung von in C++ definierten QML-Typen. Weitere Informationen finden Sie unter Definieren von QML-Typen in C++. Erstellen Sie außerdem eine Datei <template>.qmltypes für das aktuelle Projekt. <template> wird zu plugins (Plural, aus historischen Gründen), wenn plugin gesetzt ist, oder andernfalls zum Wert von TEMPLATE. qmltypes impliziert metatypes . |
Diese Optionen definieren spezifische Funktionen nur unter Windows:
Option | Beschreibung |
---|---|
flach | Bei Verwendung der vcapp-Vorlage werden alle Quelldateien in die Gruppe source und die Header-Dateien in die Gruppe header eingeordnet, unabhängig davon, in welchem Verzeichnis sie sich befinden. Wenn Sie diese Option deaktivieren, werden die Dateien in der Gruppe source/header gruppiert, je nachdem, in welchem Verzeichnis sie sich befinden. Diese Option ist standardmäßig aktiviert. |
einbetten_manifest_dll | Bettet eine Manifestdatei in die DLL ein, die als Teil eines Bibliotheksprojekts erstellt wurde. |
einbetten_manifest_exe | Bettet eine Manifestdatei in die EXE ein, die als Teil eines Anwendungsprojekts erstellt wurde. |
Weitere Informationen zu den Optionen für die Einbettung von Manifestdateien finden Sie in den Plattformhinweisen.
Die folgenden Optionen haben nur unter macOS eine Wirkung:
Option | Beschreibung |
---|---|
app_bundle | Fügt die ausführbare Datei in ein Bundle ein (dies ist der Standard). |
lib_bundle | Fügt die Bibliothek in ein Bibliotheks-Bundle ein. |
plugin_bundle | Fügt das Plugin in ein Plugin-Bundle ein. Dieser Wert wird vom Xcode-Projektgenerator nicht unterstützt. |
Der Build-Prozess für Bundles wird auch durch den Inhalt der Variable QMAKE_BUNDLE_DATA beeinflusst.
Die folgenden Optionen wirken sich nur auf Linux/Unix-Plattformen aus:
Option | Beschreibung |
---|---|
große Datei | Schließt die Unterstützung für große Dateien ein. |
separate_debug_info | Legt Debugging-Informationen für Bibliotheken in separaten Dateien ab. |
Die Variable CONFIG
wird auch bei der Auflösung von Scopes geprüft. Sie können dieser Variable alles zuweisen.
Zum Beispiel:
CONFIG += console newstuff ... newstuff { SOURCES += new.cpp HEADERS += new.h }
DEFINES
qmake fügt die Werte dieser Variablen als Compiler-C-Präprozessormakros hinzu (Option -D).
Ein Beispiel:
DEFINES += USE_MY_STUFF
DEFINES_DEBUG
Gibt Präprozessor-Definitionen für die Debug-Konfiguration an. Die Werte dieser Variablen werden zu DEFINES hinzugefügt, nachdem das Projekt geladen wurde. Diese Variable wird normalerweise in qmake.conf gesetzt und muss nur selten geändert werden.
Diese Variable wurde in Qt 5.13.2 eingeführt.
DEFINES_RELEASE
Gibt Präprozessor-Definitionen für die Release-Konfiguration an. Die Werte dieser Variable werden zu DEFINES hinzugefügt, nachdem das Projekt geladen wurde. Diese Variable wird normalerweise in qmake.conf gesetzt und muss selten geändert werden.
Hinweis: Für MSVC mkspecs enthält diese Variable standardmäßig den Wert NDEBUG
.
Diese Variable wurde in Qt 5.13.2 eingeführt.
DEF_FILE
Hinweis: Diese Variable wird nur unter Windows verwendet, wenn die Vorlage app
verwendet wird.
Gibt eine .def
Datei an, die in das Projekt aufgenommen werden soll.
DEPENDPATH
Gibt eine Liste von Verzeichnissen an, die qmake durchsuchen soll, um Abhängigkeiten aufzulösen. Diese Variable wird verwendet, wenn qmake die Header-Dateien durchsucht, die Sie #include
in Ihrem Quellcode haben.
DESTDIR
Gibt an, wo die Zieldatei abgelegt werden soll.
Zum Beispiel:
DESTDIR = ../../lib
Hinweis: Die Liste der unterstützten Zeichen kann von dem verwendeten Build-Tool abhängen. Insbesondere Klammern funktionieren nicht mit make
.
DISTFILES
Gibt eine Liste von Dateien an, die in das dist-Ziel aufgenommen werden sollen. Diese Funktion wird nur von UnixMake specs unterstützt.
Zum Beispiel:
DISTFILES += ../program.txt
DLLDESTDIR
Hinweis: Diese Variable gilt nur für Windows-Ziele.
Gibt an, wohin die Ziel-DLL kopiert werden soll.
EXTRA_TRANSLATIONS
Gibt eine Liste von Übersetzungsdateien (.ts) an, die Übersetzungen des Benutzeroberflächentextes in Nicht-Muttersprachen enthalten.
Im Gegensatz zu TRANSLATIONS werden die Übersetzungsdateien in EXTRA_TRANSLATIONS
nur von lrelease verarbeitet, nicht von lupdate.
Sie können CONFIG += lrelease verwenden, um die Dateien automatisch während des Builds zu kompilieren, und CONFIG += lrelease embed_translations, um sie im Qt Resource System verfügbar zu machen.
Weitere Informationen zur Internationalisierung (i18n) und Lokalisierung (l10n) mit Qt finden Sie im Qt Linguist Handbuch.
FORMS
Gibt die UI-Dateien (siehe Qt Widgets Designer Manual) an, die von uic
vor dem Kompilieren verarbeitet werden sollen. Alle Abhängigkeiten, Header und Quelldateien, die zum Erstellen dieser UI-Dateien erforderlich sind, werden dem Projekt automatisch hinzugefügt.
Zum Beispiel:
FORMS = mydialog.ui \ mywidget.ui \ myconfig.ui
GUID
Gibt die GUID an, die innerhalb einer .vcproj
Datei gesetzt wird. Die GUID wird normalerweise zufällig bestimmt. Sollten Sie jedoch eine feste GUID benötigen, kann diese mit dieser Variablen festgelegt werden.
Diese Variable ist nur für .vcproj
Dateien spezifisch; ansonsten wird sie ignoriert.
HEADERS
Definiert die Header-Dateien für das Projekt.
qmake erkennt automatisch, ob moc von den Klassen in den Headern benötigt wird, und fügt die entsprechenden Abhängigkeiten und Dateien zum Projekt hinzu, um die moc-Dateien zu erzeugen und zu linken.
Ein Beispiel:
HEADERS = myclass.h \ login.h \ mainwindow.h
Siehe auch SOURCES.
ICON
Diese Variable wird nur unter Mac OS verwendet, um das Programmsymbol zu setzen. Weitere Informationen finden Sie in der Dokumentation zum Anwendungssymbol.
IDLSOURCES
Diese Variable wird nur unter Windows für die Visual Studio Projektgenerierung verwendet, um die angegebenen Dateien in den Ordner Generated Files zu legen.
INCLUDEPATH
Gibt die #include-Verzeichnisse an, die beim Kompilieren des Projekts durchsucht werden sollen.
Zum Beispiel:
INCLUDEPATH = c:/msdev/include d:/stl/include
Um einen Pfad anzugeben, der Leerzeichen enthält, setzen Sie den Pfad in Anführungszeichen, wie in Whitespace beschrieben.
win32:INCLUDEPATH += "C:/mylibs/extra headers" unix:INCLUDEPATH += "/home/user/extra headers"
INSTALLS
Gibt eine Liste von Ressourcen an, die installiert werden, wenn make install
oder eine ähnliche Installationsprozedur ausgeführt wird. Jedes Element in der Liste wird normalerweise mit Attributen definiert, die Informationen darüber liefern, wo es installiert wird.
Die folgende target.path
-Definition beschreibt beispielsweise, wo das Build-Target installiert werden soll, und die INSTALLS
-Zuweisung fügt das Build-Target der Liste der vorhandenen zu installierenden Ressourcen hinzu:
target.path += $$[QT_INSTALL_PLUGINS]/imageformats INSTALLS += target
INSTALLS
hat ein .CONFIG
Mitglied, das mehrere Werte annehmen kann:
Wert | Beschreibung |
---|---|
no_check_exist | Wenn nicht gesetzt, prüft qmake, ob die zu installierenden Dateien tatsächlich existieren. Wenn diese Dateien nicht existieren, erstellt qmake die Installationsregel nicht. Verwenden Sie diesen Konfigurationswert, wenn Sie Dateien installieren müssen, die als Teil Ihres Build-Prozesses erzeugt werden, wie z.B. HTML-Dateien, die von qdoc erzeugt wurden. |
nostrip | Wenn dieser Wert gesetzt ist, wird die typische Unix-Strip-Funktionalität ausgeschaltet und die Debug-Informationen bleiben im Binary erhalten. |
Ausführbar | Unter Unix wird damit das Flag für ausführbare Dateien gesetzt. |
no_build | Wenn Sie ein make install ausführen und noch kein Build des Projekts haben, wird das Projekt zuerst gebaut und dann installiert. Wenn Sie dieses Verhalten nicht wünschen, setzen Sie diesen Konfigurationswert, um sicherzustellen, dass das Build-Ziel nicht als Abhängigkeit zum Installationsziel hinzugefügt wird. |
no_default_install | Ein Projekt hat ein übergeordnetes Projektziel, bei dem alles installiert wird, wenn Sie ein make install ausführen. Wenn Sie jedoch ein Installationsziel mit diesem Konfigurationswert haben, wird es standardmäßig nicht installiert. Sie müssen dann explizit make install_<file> sagen. |
Weitere Informationen finden Sie unter Installieren von Dateien.
Diese Variable wird auch verwendet, um anzugeben, welche zusätzlichen Dateien auf eingebetteten Geräten bereitgestellt werden sollen.
JAVA_HOME
Hinweis: Diese Variable ist nur für Android-Ziele nützlich.
Gibt den JDK/OpenJDK-Installationspfad an, der für die Erstellung des Projekts verwendet wird.
LEXIMPLS
Gibt eine Liste von Lex-Implementierungsdateien an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
LEXOBJECTS
Gibt die Namen von Lex-Zwischenobjektdateien an. Der Wert dieser Variable wird normalerweise von qmake verwaltet und muss nur selten geändert werden.
LEXSOURCES
Gibt eine Liste von Lex-Quelldateien an. Alle Abhängigkeiten, Header und Quelldateien werden automatisch zum Projekt hinzugefügt, um diese Lex-Dateien zu erstellen.
Zum Beispiel:
LEXSOURCES = lexer.l
LIBS
Gibt eine Liste von Bibliotheken an, die in das Projekt gelinkt werden sollen. Wenn Sie die Unix-Flags -l
(Bibliothek) und -L (Bibliothekspfad) verwenden, behandelt qmake die Bibliotheken unter Windows korrekt (d.h. es übergibt den vollständigen Pfad der Bibliothek an den Linker). Die Bibliothek muss existieren, damit qmake das Verzeichnis finden kann, in dem sich eine -l
lib befindet.
Ein Beispiel:
unix:LIBS += -L/usr/local/lib -lmath win32:LIBS += c:/mylibs/math.lib
Um einen Pfad mit Leerzeichen anzugeben, geben Sie den Pfad in Anführungszeichen ein, wie in Whitespace beschrieben.
win32:LIBS += "C:/mylibs/extra libs/extra.lib" unix:LIBS += "-L/home/user/extra libs" -lextra
Standardmäßig wird die Liste der Bibliotheken, die in LIBS
gespeichert ist, auf eine Liste eindeutiger Namen reduziert, bevor sie verwendet wird. Um dieses Verhalten zu ändern, fügen Sie der CONFIG-Variablen die Option no_lflags_merge
hinzu:
CONFIG += no_lflags_merge
LIBS_PRIVATE
Gibt eine Liste von Bibliotheken an, die privat in das Projekt gelinkt werden sollen. Das Verhalten dieser Variable ist identisch mit dem von LIBS, mit der Ausnahme, dass für Unix erstellte Shared-Library-Projekte diese Abhängigkeiten nicht in ihrer Link-Schnittstelle offenlegen.
Wenn das Projekt C von der Bibliothek B abhängt, die wiederum von der Bibliothek A abhängt, C aber auch Symbole aus A direkt verwenden will, muss es explizit mit A linken. Anders ausgedrückt: Privat gelinkte Bibliotheken sind zur Build-Zeit nicht transitiv zugänglich.
LITERAL_HASH
Diese Variable wird immer dann verwendet, wenn ein literales Hash-Zeichen (#
) in einer Variablendeklaration benötigt wird, vielleicht als Teil eines Dateinamens oder in einem String, der an eine externe Anwendung übergeben wird.
Ein Beispiel:
# To include a literal hash character, use the $$LITERAL_HASH variable: urlPieces = http://doc.qt.io/qt-5/qtextdocument.html pageCount message($$join(urlPieces, $$LITERAL_HASH))
Durch die Verwendung von LITERAL_HASH
auf diese Weise kann das Zeichen #
verwendet werden, um eine URL für die Funktion message()
zu konstruieren, die auf der Konsole ausgegeben wird.
MAKEFILE
Gibt den Namen des generierten Makefiles an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
MAKEFILE_GENERATOR
Gibt den Namen des Makefile-Generators an, der bei der Erzeugung eines Makefiles verwendet wird. Der Wert dieser Variable wird normalerweise intern von qmake verwaltet und muss nur selten geändert werden.
MSVCPROJ_*
Diese Variablen werden intern von qmake verwaltet und sollten nicht verändert oder verwendet werden.
MOC_DIR
Gibt das Verzeichnis an, in dem alle moc-Zwischendateien abgelegt werden sollen.
Zum Beispiel:
unix:MOC_DIR = ../myproject/tmp win32:MOC_DIR = c:/myproject/tmp
OBJECTIVE_HEADERS
Definiert die Objective-C++ Header-Dateien für das Projekt.
qmake erkennt automatisch, ob moc von den Klassen in den Headern benötigt wird, und fügt die entsprechenden Abhängigkeiten und Dateien zum Projekt hinzu, um die moc-Dateien zu erzeugen und zu linken.
Dies ist ähnlich wie die HEADERS-Variable, lässt aber die generierten moc-Dateien mit dem Objective-C++-Compiler kompilieren.
Siehe auch OBJECTIVE_SOURCES.
OBJEKTIVE_QUELLEN
Gibt die Namen aller Objective-C/C++-Quelldateien im Projekt an.
Diese Variable ist jetzt veraltet, Objective-C/C++-Dateien (.m und .mm) können der Variable SOURCES hinzugefügt werden.
Siehe auch OBJECTIVE_HEADERS.
OBJECTS
Diese Variable wird automatisch aus der Variable SOURCES gefüllt. Die Erweiterung jeder Quelldatei wird durch .o (Unix) oder .obj (Win32) ersetzt. Sie können der Liste Objekte hinzufügen.
OBJEKTE_DIR
Gibt das Verzeichnis an, in dem alle Zwischenobjekte abgelegt werden sollen.
Zum Beispiel:
unix:OBJECTS_DIR = ../myproject/tmp win32:OBJECTS_DIR = c:/myproject/tmp
POST_TARGETDEPS
Listet die Bibliotheken auf, von denen das Ziel abhängt. Einige Backends, wie z.B. die Generatoren für Visual Studio und Xcode Projektdateien, unterstützen diese Variable nicht. Im Allgemeinen wird diese Variable intern von diesen Build-Tools unterstützt, und sie ist nützlich, um abhängige statische Bibliotheken explizit aufzulisten.
Diese Liste wird nach allen eingebauten (und $$PRE_TARGETDEPS) Abhängigkeiten platziert.
PRE_TARGETDEPS
Listet Bibliotheken auf, von denen das Target abhängt. Einige Backends, wie die Generatoren für Visual Studio und Xcode Projektdateien, unterstützen diese Variable nicht. Im Allgemeinen wird diese Variable intern von diesen Build-Tools unterstützt und ist nützlich, um abhängige statische Bibliotheken explizit aufzulisten.
Diese Liste wird vor allen eingebauten Abhängigkeiten platziert.
VORKOMPILIERTER_HEADER
Gibt die Header-Datei für die Erstellung einer vorkompilierten Header-Datei an, um die Kompilierungsgeschwindigkeit eines Projekts zu erhöhen. Vorkompilierte Header werden derzeit nur auf einigen Plattformen unterstützt (Windows - alle MSVC-Projekttypen, Apple - Xcode, Makefile, Unix - gcc 3.3 und höher).
PWD
Gibt den vollständigen Pfad zu dem Verzeichnis an, in dem sich die aktuelle Datei befindet, die geparst wird. Dies kann nützlich sein, um auf Dateien innerhalb des Quellbaums zu verweisen, wenn Projektdateien zur Unterstützung von Shadow-Builds geschrieben werden.
Siehe auch _PRO_FILE_PWD_.
Hinweis: Versuchen Sie nicht, den Wert dieser Variablen zu überschreiben.
OUT_PWD
Gibt den vollständigen Pfad zu dem Verzeichnis an, in dem qmake das erzeugte Makefile ablegt.
Hinweis: Versuchen Sie nicht, den Wert dieser Variable zu überschreiben.
QM_FILES_RESOURCE_PREFIX
Gibt das Verzeichnis im Ressourcensystem an, in dem die Dateien .qm
durch CONFIG += embed_translations verfügbar gemacht werden.
Der Standardwert ist :/i18n/
.
QM_DATEIEN_INSTALL_PFAD
Gibt das Zielverzeichnis .qm
an, in das die von CONFIG += lrelease erzeugten Dateien installiert werden. Hat keine Auswirkung, wenn CONFIG += embed_translations gesetzt ist.
QML_IMPORT_PFAD
Diese Variable wird nur von Qt Creator. Wenn Sie ein zusätzliches Modul haben, das außerhalb Ihrer Qt-Installation aufbewahrt wird, können Sie dessen Pfad hier angeben.
Siehe Qt Creator: Verwendung von QML-Modulen mit Plugins für Details.
QMLPATHS
Erwartet eine Liste von Importpfaden, die auf Wurzelverzeichnisse von QML-Modulbäumen verweisen. Wenn Sie zum Beispiel einen eigenen Speicherort für Ihre QML-Module haben, können Sie ihn hier angeben.
Hinweis: Die Pfadangaben für QMLPATHS verweisen auf Wurzelverzeichnisse von QML-Modulbäumen. Dies ist das Konzept der Importpfade, das die QML-Engine versteht. Sie können dieselben Pfade über die Umgebungsvariable QML_IMPORT_PATH
an Ihre QML-Anwendung übergeben, aber sie unterscheiden sich von den erwarteten Inhalten der qmake-Variablen QML_IMPORT_PATH. Letztere erwartet nur Pfade zu einzelnen Modulen, die von Qt Creator verarbeitet werden sollen.
Hinweis: Der Inhalt von QMLPATHS wird nicht automatisch an Ihre Anwendung weitergegeben. Vielmehr werden sie nur zur Build-Zeit verwendet. Insbesondere qmlimportscanner verwendet sie, um alle QML-Module zu finden, die von Ihrer Anwendung als importiert markiert werden müssen.
QMAKE
Gibt den Namen des qmake-Programms selbst an und wird in generierten Makefiles platziert. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKESPEC
Eine Systemvariable, die den vollständigen Pfad der qmake-Konfiguration enthält, die bei der Erzeugung von Makefiles verwendet wird. Der Wert dieser Variable wird automatisch errechnet.
Hinweis: Versuchen Sie nicht, den Wert dieser Variablen zu überschreiben.
QMAKE_APPLE_DEVICE_ARCHS
Hinweis: Diese Variable wird nur unter macOS verwendet.
Gibt eine Liste von Architekturen an, für die gebaut werden soll. Standardmäßig wird ein Projekt für die Architektur der Entwicklungsmaschine erstellt. Diese Variable ermöglicht es, den Standard zu überschreiben und für eine andere Architektur zu bauen oder Multi-Architektur-Binärdateien zu erstellen.
Diese Variable wird normalerweise auf der Kommandozeile oder in der Projektdatei angegeben.
Siehe Qt für macOS für weitere Informationen.
QMAKE_AR_CMD
Hinweis: Diese Variable wird nur auf Unix-Plattformen verwendet.
Gibt das Kommando an, das beim Erstellen einer Shared Library ausgeführt werden soll. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_BUNDLE_DATA
Hinweis: Diese Variable wird nur unter macOS, iOS, tvOS und watchOS verwendet.
Gibt die Daten an, die mit einem Bibliotheks-Bundle installiert werden, und wird oft verwendet, um eine Sammlung von Header-Dateien anzugeben.
Zum Beispiel fügen die folgenden Zeilen path/to/header_one.h
und path/to/header_two.h
zu einer Gruppe hinzu, die Informationen über die mit dem Framework gelieferten Header enthält:
FRAMEWORK_HEADERS.version = Versions FRAMEWORK_HEADERS.files = path/to/header_one.h path/to/header_two.h FRAMEWORK_HEADERS.path = Headers QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS
Die letzte Zeile fügt die Informationen über die Header zu der Sammlung von Ressourcen hinzu, die mit dem Library-Bundle installiert werden.
Bibliotheks-Bundles werden erstellt, wenn die Option lib_bundle
zur CONFIG-Variablen hinzugefügt wird.
Weitere Informationen zur Erstellung von Bibliotheks-Bundles finden Sie in den Plattformhinweisen.
Ein Projekt kann diese Variable auch verwenden, um Anwendungsübersetzungsdateien zu bündeln. Die genaue Syntax hängt davon ab, ob das Projekt das Legacy-Build-System von Xcode oder das neue Build-System verwendet.
Zum Beispiel, wenn der folgende Projektausschnitt mit dem Legacy-Build-System erstellt wird:
translations_en.files = $$PWD/en.lproj/InfoPlist.strings translations_en.path = en.lproj QMAKE_BUNDLE_DATA += translations_en
Xcode ignoriert den ursprünglichen Speicherort von InfoPlist.strings
und platziert die Datei im Bundle-Verzeichnis Resources
unter dem angegebenen Pfad translations_en.path
, also Resources/en.lproj/InfoPlist.strings
Mit dem neuen Buildsystem wird der relative Speicherort der Datei beibehalten, was bedeutet, dass die Datei fälschlicherweise unter Resources/en.lproj/en.lproj/InfoPlist.strings
Um die korrekte Platzierung der Datei zu gewährleisten, kann das Projekt entweder die Originaldatei so verschieben, dass sie sich nicht in einem Unterverzeichnis befindet, oder es kann wählen, die Variable translations_en.path
nicht anzugeben.
# Approach 1 translations_en.files = $$PWD/InfoPlist.strings translations_en.path = en.lproj # Approach 2 translations_de.files = $$PWD/de.lproj/InfoPlist.strings QMAKE_BUNDLE_DATA += translations_en translations_de
Siehe QTBUG-98417 für weitere Details darüber, wie das Xcode-Build-System sein Verhalten beim Bündeln von Übersetzungsdateien geändert hat.
QMAKE_BUNDLE_EXTENSION
Hinweis: Diese Variable wird nur unter macOS, iOS, tvOS und watchOS verwendet.
Gibt die Erweiterung an, die für Bibliotheks-Bundles verwendet werden soll. Dadurch können Frameworks mit benutzerdefinierten Erweiterungen anstelle der standardmäßigen .framework
Verzeichnisnamenerweiterung erstellt werden.
Die folgende Definition führt zum Beispiel zu einem Framework mit der Erweiterung .myframework
:
QMAKE_BUNDLE_EXTENSION = .myframework
QMAKE_CC
Gibt den C-Compiler an, der bei der Erstellung von Projekten, die C-Quellcode enthalten, verwendet werden soll. Es muss nur der Dateiname der ausführbaren Datei des Compilers angegeben werden, solange er auf einem Pfad liegt, der in der Variable PATH
enthalten ist, wenn das Makefile verarbeitet wird.
QMAKE_CFLAGS
Legt die C-Compiler-Flags für die Erstellung eines Projekts fest. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden. Die für den Debug- und den Release-Modus spezifischen Flags können durch Ändern der Variablen QMAKE_CFLAGS_DEBUG
bzw. QMAKE_CFLAGS_RELEASE
angepasst werden.
QMAKE_CFLAGS_DEBUG
Gibt die C-Compiler-Flags für Debug-Builds an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_CFLAGS_RELEASE
Legt die C-Compiler-Flags für Release-Builds fest. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_CFLAGS_RELEASE_MIT_DEBUGINFO
Gibt die C-Compiler-Flags für Release-Builds an, bei denen force_debug_info
in CONFIG
gesetzt ist. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_CFLAGS_SHLIB
Hinweis: Diese Variable wird nur auf Unix-Plattformen verwendet.
Gibt die Compilerflags für die Erstellung einer Shared Library an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_CFLAGS_THREAD
Gibt die Compiler-Flags für die Erstellung einer Multi-Thread-Anwendung an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_CFLAGS_WARN_OFF
Diese Variable wird nur verwendet, wenn die Option warn_off
CONFIG gesetzt ist. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_CFLAGS_WARN_ON
Diese Variable wird nur verwendet, wenn die Option warn_on
CONFIG gesetzt ist. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_CLEAN
Gibt eine Liste von generierten Dateien (z.B. von moc und uic) und Objektdateien an, die von make clean
entfernt werden sollen.
QMAKE_CXX
Gibt den C++-Compiler an, der beim Erstellen von Projekten, die C++-Quellcode enthalten, verwendet werden soll. Es muss nur der Dateiname der ausführbaren Datei des Compilers angegeben werden, solange er auf einem Pfad liegt, der in der Variable PATH
enthalten ist, wenn das Makefile verarbeitet wird.
QMAKE_CXXFLAGS
Gibt die C++-Compiler-Flags für die Erstellung eines Projekts an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden. Die für den Debug- und den Release-Modus spezifischen Flags können durch Ändern der Variablen QMAKE_CXXFLAGS_DEBUG
bzw. QMAKE_CXXFLAGS_RELEASE
angepasst werden.
QMAKE_CXXFLAGS_DEBUG
Gibt die C++-Compiler-Flags für Debug-Builds an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_CXXFLAGS_RELEASE
Gibt die C++ Compilerflags für Release-Builds an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_CXXFLAGS_RELEASE_MIT_DEBUGINFO
Gibt die C++ Compilerflags für Release-Builds an, bei denen force_debug_info
in CONFIG
gesetzt ist. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_CXXFLAGS_SHLIB
Gibt die C++ Compilerflags für die Erstellung einer Shared Library an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_CXXFLAGS_THREAD
Gibt die C++ Compiler-Flags für die Erstellung einer Multi-Thread-Anwendung an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_CXXFLAGS_WARN_OFF
Gibt die C++-Compilerflags zur Unterdrückung von Compilerwarnungen an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_CXXFLAGS_WARN_ON
Legt C++ Compilerflags für die Erzeugung von Compilerwarnungen fest. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_DEVELOPMENT_TEAM
Hinweis: Diese Variable wird nur unter macOS, iOS, tvOS und watchOS verwendet.
Die Kennung eines Entwicklungsteams, das für das Signieren von Zertifikaten und die Bereitstellung von Profilen verwendet wird.
QMAKE_DISTCLEAN
Gibt eine Liste von Dateien an, die von make distclean
entfernt werden sollen.
QMAKE_ERWEITERUNG_SHLIB
Enthält die Erweiterung für Shared Libraries. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
Hinweis: Plattformspezifische Variablen, die die Erweiterung ändern, überschreiben den Inhalt dieser Variablen.
QMAKE_ERWEITERUNG_STATICLIB
Enthält die Erweiterung für gemeinsam genutzte statische Bibliotheken. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_EXT_MOC
Enthält die Erweiterung, die für eingebundene moc-Dateien verwendet wird.
Siehe auch Dateierweiterungen.
QMAKE_EXT_UI
Enthält die Erweiterung, die für Qt Widgets Designer UI-Dateien verwendet wird.
Siehe auch Dateierweiterungen.
QMAKE_EXT_PRL
Enthält die Erweiterung, die für erstellte PRL-Dateien verwendet wird.
Siehe auch Dateierweiterungen, Bibliotheksabhängigkeiten.
QMAKE_EXT_LEX
Enthält die Erweiterung von Dateien, die an Lex übergeben werden.
Siehe auch Dateierweiterungen, LEXSOURCES.
QMAKE_EXT_YACC
Enthält die Erweiterung, die für Dateien verwendet wird, die an Yacc übergeben werden.
Siehe auch Dateierweiterungen, YACCSOURCES.
QMAKE_EXT_OBJ
Enthält die Erweiterung, die für generierte Objektdateien verwendet wird.
Siehe auch Dateierweiterungen.
QMAKE_EXT_CPP
Enthält Suffixe für Dateien, die als C++-Quellcode interpretiert werden sollen.
Siehe auch Dateierweiterungen.
QMAKE_EXT_H
Enthält Suffixe für Dateien, die als C-Header-Dateien interpretiert werden sollen.
Siehe auch Dateierweiterungen.
QMAKE_EXTRA_COMPILERS
Gibt eine Liste von zusätzlichen Compilern oder Präprozessoren an.
Siehe auch Hinzufügen von Compilern.
QMAKE_EXTRA_TARGETS
Gibt eine Liste von zusätzlichen qmake-Targets an.
Siehe auch Hinzufügen von eigenen Targets.
QMAKE_FAILED_REQUIREMENTS
Enthält die Liste der fehlgeschlagenen Anforderungen. Der Wert dieser Variablen wird von qmake gesetzt und kann nicht geändert werden.
Siehe auch requires() und REQUIRES.
QMAKE_FRAMEWORK_BUNDLE_NAME
Hinweis: Diese Variable wird nur unter macOS, iOS, tvOS und watchOS verwendet.
In einem Framework-Projekt enthält diese Variable den Namen, der für das zu erstellende Framework verwendet wird.
Standardmäßig enthält diese Variable denselben Wert wie die Variable TARGET.
Weitere Informationen über das Erstellen von Frameworks und Bibliotheks-Bundles finden Sie unter Erstellen von Frameworks.
QMAKE_FRAMEWORK_VERSION
Hinweis: Diese Variable wird nur unter macOS, iOS, tvOS und watchOS verwendet.
Für Projekte, bei denen das Build-Ziel ein macOS-, iOS-, tvOS- oder watchOS-Framework ist, wird diese Variable verwendet, um die Versionsnummer anzugeben, die auf das Framework angewendet wird, das gebaut wird.
Standardmäßig enthält diese Variable denselben Wert wie die Variable VERSION.
Weitere Informationen zum Erstellen von Frameworks finden Sie unter Erstellen von Frameworks.
QMAKE_HOST
Liefert Informationen über den Hostrechner, auf dem qmake läuft. Sie können zum Beispiel die Architektur des Host-Rechners von QMAKE_HOST.arch
abrufen.
Schlüssel | Werte |
---|---|
.arch | Architektur des Rechners |
.os | Host-Betriebssystem |
.cpu_count | Anzahl der verfügbaren CPUs |
.name | Name des Host-Computers |
.version | Versionsnummer des Host-Betriebssystems |
.version_string | Versionszeichenfolge des Host-Betriebssystems |
win32-g++:contains(QMAKE_HOST.arch, x86_64):{ message("Host is 64bit") ... }
QMAKE_INCDIR
Gibt die Liste der System-Header-Pfade an, die an INCLUDEPATH angehängt werden. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_INCDIR_EGL
Gibt den Ort der EGL-Header-Dateien an, die dem INCLUDEPATH hinzugefügt werden sollen, wenn ein Target mit OpenGL/ES- oder OpenVG-Unterstützung erstellt wird. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_INCDIR_OPENGL
Gibt den Ort der OpenGL-Header-Dateien an, die dem INCLUDEPATH hinzugefügt werden sollen, wenn ein Target mit OpenGL-Unterstützung erstellt wird. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
Wenn die OpenGL-Implementierung EGL verwendet (die meisten OpenGL/ES-Systeme), dann muss QMAKE_INCDIR_EGL eventuell auch gesetzt werden.
QMAKE_INCDIR_OPENGL_ES2
Diese Variable gibt den Ort der OpenGL-Header-Dateien an, die zu INCLUDEPATH hinzugefügt werden sollen, wenn ein Target mit OpenGL ES 2-Unterstützung erstellt wird.
Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
Wenn die OpenGL-Implementierung EGL verwendet (die meisten OpenGL/ES-Systeme), dann muss QMAKE_INCDIR_EGL eventuell auch gesetzt werden.
QMAKE_INCDIR_OPENVG
Gibt den Ort der OpenVG-Header-Dateien an, die dem INCLUDEPATH hinzugefügt werden sollen, wenn ein Ziel mit OpenVG-Unterstützung erstellt wird. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
Wenn die OpenVG-Implementierung EGL verwendet, muss eventuell auch QMAKE_INCDIR_EGL gesetzt werden.
QMAKE_INCDIR_X11
Hinweis: Diese Variable wird nur auf Unix-Plattformen verwendet.
Gibt den Ort der X11-Header-Dateipfade an, die zu INCLUDEPATH hinzugefügt werden, wenn ein X11-Ziel erstellt wird. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_INFO_PLIST
Hinweis: Diese Variable wird nur auf den Plattformen macOS, iOS, tvOS und watchOS verwendet.
Gibt den Namen der Eigenschaftslistendatei .plist
an, die Sie in Ihr macOS-, iOS-, tvOS- und watchOS-Applikationsbündel aufnehmen möchten.
In der Datei .plist
können Sie einige Variablen definieren, die qmake durch die entsprechenden Werte ersetzen wird:
Platzhalter(n) | Wirkung |
---|---|
${PRODUCT_BUNDLE_IDENTIFIER} , @BUNDLEIDENTIFIER@ | Erweitert auf die Bundle-Kennzeichenkette des Ziel-Bundles, zum Beispiel: com.example.myapp . Ermittelt durch Verkettung der Werte von QMAKE_TARGET_BUNDLE_PREFIX und QMAKE_BUNDLE , getrennt durch einen Punkt (. ). Der Wert von QMAKE_BUNDLE wird von QMAKE_APPLICATION_BUNDLE_NAME , QMAKE_PLUGIN_BUNDLE_NAME oder QMAKE_FRAMEWORK_BUNDLE_NAME abgeleitet. Er sollte nicht direkt vom Projekt festgelegt werden. |
${EXECUTABLE_NAME} , @EXECUTABLE@ , @LIBRARY@ | Entspricht dem Wert von QMAKE_APPLICATION_BUNDLE_NAME, QMAKE_PLUGIN_BUNDLE_NAME oder QMAKE_FRAMEWORK_BUNDLE_NAME (je nach Art des zu erstellenden Ziels), oder TARGET, wenn keiner der vorherigen Werte gesetzt ist. |
${ASSETCATALOG_COMPILER_APPICON_NAME} , @ICON@ | Erweitert auf den Wert von ICON. |
${QMAKE_PKGINFO_TYPEINFO} , @TYPEINFO@ | Erweitert sich auf den Wert von QMAKE_PKGINFO_TYPEINFO. |
${QMAKE_FULL_VERSION} , @FULL_VERSION@ | Erweitert sich auf den Wert von VERSION, ausgedrückt durch drei Versionskomponenten. |
${QMAKE_SHORT_VERSION} , @SHORT_VERSION@ | Erweitert sich auf den Wert von VERSION, ausgedrückt durch zwei Versionskomponenten. |
${MACOSX_DEPLOYMENT_TARGET} | Erweitert sich auf den Wert von QMAKE_MACOSX_DEPLOYMENT_TARGET. |
${IPHONEOS_DEPLOYMENT_TARGET} | Erweitert sich auf den Wert von QMAKE_IPHONEOS_DEPLOYMENT_TARGET. |
${TVOS_DEPLOYMENT_TARGET} | Erweitert auf den Wert von QMAKE_TVOS_DEPLOYMENT_TARGET. |
${WATCHOS_DEPLOYMENT_TARGET} | Erweitert auf den Wert von QMAKE_WATCHOS_DEPLOYMENT_TARGET. |
${IOS_LAUNCH_SCREEN} | Erweitert sich auf den Wert von QMAKE_IOS_LAUNCH_SCREEN. |
Hinweis: Wenn Sie den Xcode-Generator verwenden, werden die obigen Platzhalter im Stil von ${var}
direkt durch das Xcode-Build-System ersetzt und nicht von qmake behandelt. Die Platzhalter im Stil von @var@
funktionieren nur mit den qmake-Makefile-Generatoren und nicht mit dem Xcode-Generator.
Wenn für iOS gebaut wird und die Datei .plist
den Schlüssel NSPhotoLibraryUsageDescription
enthält, fügt qmake ein zusätzliches Plugin in den Build ein, das den Zugriff auf Fotos unterstützt (z.B. QFile/QFileDialog). Weitere Informationen zu diesem Schlüssel finden Sie in der Info.plist-Dokumentation von Apple.
Hinweis: In den meisten Fällen ist die Standardeinstellung Info.plist
ausreichend.
QMAKE_IOS_DEPLOYMENT_TARGET
Hinweis: Diese Variable wird nur auf der iOS-Plattform verwendet.
Gibt die harte Mindestversion von iOS an, die von der Anwendung unterstützt wird.
Weitere Informationen finden Sie unter Expressing Supported iOS Versions.
QMAKE_IOS_LAUNCH_SCREEN
Hinweis: Diese Variable wird nur auf der iOS-Plattform verwendet.
Gibt den Startbildschirm an, der von der Anwendung verwendet wird. Wenn diese Variable nicht gesetzt ist, wird ein Standard-Startbildschirm verwendet.
QMAKE_LFLAGS
Legt einen allgemeinen Satz von Flags fest, die an den Linker übergeben werden. Wenn Sie die Flags, die für eine bestimmte Plattform oder einen bestimmten Projekttyp verwendet werden, ändern müssen, verwenden Sie eine der spezialisierten Variablen für diesen Zweck anstelle dieser Variable.
QMAKE_LFLAGS_CONSOLE
Hinweis: Diese Variable wird nur unter Windows verwendet.
Gibt die Linker-Flags für die Erstellung von Konsolenprogrammen an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_LFLAGS_DEBUG
Legt die Linker-Flags für Debug-Builds fest. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_LFLAGS_PLUGIN
Legt die Linker-Flags für die Erstellung von Plugins fest. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_LFLAGS_RPATH
Hinweis: Diese Variable wird nur auf Unix-Plattformen verwendet.
Gibt die Linker-Flags an, die benötigt werden, um die Werte aus QMAKE_RPATHDIR zu verwenden.
Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_LFLAGS_REL_RPATH
Gibt die Linkerflags an, die benötigt werden, um relative Pfade in QMAKE_RPATHDIR zu aktivieren.
Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_REL_RPATH_BASE
Gibt die Zeichenkette an, die der dynamische Linker als den Ort der verweisenden ausführbaren Datei oder Bibliothek versteht.
Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_LFLAGS_RPATHLINK
Gibt die Linkerflags an, die benötigt werden, um die Werte aus QMAKE_RPATHLINKDIR zu verwenden.
Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_LFLAGS_RELEASE
Gibt die Linker-Flags für Release-Builds an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_LFLAGS_RELEASE_MIT_DEBUGINFO
Gibt die Linker-Flags für Release-Builds an, bei denen force_debug_info
in CONFIG
gesetzt ist. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_LFLAGS_APP
Gibt die Linker-Flags für die Erstellung von Applikationen an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_LFLAGS_SHLIB
Legt die Linker-Flags fest, die für die Erstellung von Shared Libraries verwendet werden. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_LFLAGS_SONAME
Gibt die Linker-Flags zum Setzen des Namens von Shared Objects an, wie z.B. .so oder .dll. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_LFLAGS_THREAD
Legt die Linker-Flags für die Erstellung von Multithreading-Projekten fest. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_LFLAGS_WINDOWS
Hinweis: Diese Variable wird nur unter Windows verwendet.
Legt die Linker-Flags für die Erstellung von Windows-GUI-Projekten (d.h. Nicht-Konsolen-Anwendungen) fest. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_LIBDIR
Legt eine Liste von Bibliotheks-Suchpfaden für alle Projekte fest. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
Um zusätzliche Suchpfade in den Projektdateien anzugeben, verwenden Sie stattdessen LIBS wie diese:
LIBS += -L/path/to/libraries
QMAKE_LIBDIR_POST
Gibt eine Liste von Suchpfaden für Systembibliotheken für alle Projekte an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_LIBDIR_FLAGS
Hinweis: Diese Variable wird nur auf Unix-Plattformen verwendet.
Gibt den Ort aller Bibliotheksverzeichnisse mit vorangestelltem -L an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_LIBDIR_EGL
Gibt den Ort des EGL Bibliotheksverzeichnisses an, wenn EGL mit OpenGL/ES oder OpenVG verwendet wird. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_LIBDIR_OPENGL
Gibt den Ort des OpenGL-Bibliotheksverzeichnisses an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
Wenn die OpenGL-Implementierung EGL verwendet (die meisten OpenGL/ES-Systeme), dann muss QMAKE_LIBDIR_EGL eventuell auch gesetzt werden.
QMAKE_LIBDIR_OPENVG
Gibt den Ort des OpenVG-Bibliotheksverzeichnisses an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
Wenn die OpenVG-Implementierung EGL verwendet, dann muss QMAKE_LIBDIR_EGL eventuell auch gesetzt werden.
QMAKE_LIBDIR_X11
Hinweis: Diese Variable wird nur auf Unix-Plattformen verwendet.
Gibt den Ort des X11-Bibliotheksverzeichnisses an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_LIBS
Gibt zusätzliche Bibliotheken an, gegen die jedes Projekt linken muss. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
Um Bibliotheken in einer Projektdatei anzugeben, verwenden Sie stattdessen LIBS.
QMAKE_LIBS_PRIVAT
Gibt zusätzliche private Bibliotheken an, gegen die jedes Projekt linken muss. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
Um private Bibliotheken in einer Bibliotheksprojektdatei anzugeben, verwenden Sie stattdessen LIBS_PRIVATE.
QMAKE_LIBS_EGL
Spezifiziert alle EGL-Bibliotheken, wenn Qt mit OpenGL/ES oder OpenVG gebaut wird. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden. Der übliche Wert ist -lEGL
.
QMAKE_LIBS_OPENGL
Legt alle OpenGL-Bibliotheken fest. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
Wenn die OpenGL-Implementierung EGL verwendet (die meisten OpenGL/ES-Systeme), dann muss eventuell auch QMAKE_LIBS_EGL gesetzt werden.
QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES2
Diese Variablen geben alle OpenGL-Bibliotheken für OpenGL ES 1 und OpenGL ES 2 an.
Der Wert dieser Variablen wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
Wenn die OpenGL-Implementierung EGL verwendet (die meisten OpenGL/ES-Systeme), dann muss eventuell auch QMAKE_LIBS_EGL gesetzt werden.
QMAKE_LIBS_OPENVG
Gibt alle OpenVG-Bibliotheken an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden. Der übliche Wert ist -lOpenVG
.
Einige OpenVG-Engines sind zusätzlich zu OpenGL implementiert. Dies wird zur Konfigurationszeit erkannt und QMAKE_LIBS_OPENGL wird implizit zu QMAKE_LIBS_OPENVG hinzugefügt, wo immer die OpenVG-Bibliotheken gelinkt werden.
Wenn die OpenVG-Implementierung EGL verwendet, dann muss QMAKE_LIBS_EGL möglicherweise auch gesetzt werden.
QMAKE_LIBS_THREAD
Hinweis: Diese Variable wird nur auf Unix-Plattformen verwendet.
Gibt alle Bibliotheken an, gegen die bei der Erstellung eines Multi-Thread-Targets gelinkt werden muss. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_LIBS_X11
Hinweis: Diese Variable wird nur auf Unix-Plattformen verwendet.
Gibt alle X11-Bibliotheken an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_LIB_FLAG
Diese Variable ist nicht leer, wenn das lib
Template angegeben ist. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_LINK
Gibt den Linker an, der bei der Erstellung von applikationsbasierten Projekten verwendet wird. Es muss nur der Dateiname des ausführbaren Linkers angegeben werden, solange er auf einem Pfad liegt, der in der Variable PATH
enthalten ist, wenn das Makefile verarbeitet wird. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_LINK_SHLIB_CMD
Gibt den Befehl an, der beim Erstellen einer Shared Library ausgeführt werden soll. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_LN_SHLIB
Gibt das Kommando an, das beim Erstellen eines Links zu einer Shared Library ausgeführt werden soll. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_LRELEASE_FLAGS
Liste der zusätzlichen Optionen, die an lrelease übergeben werden, wenn sie durch CONFIG += lrelease aktiviert werden.
QMAKE_OBJECTIVE_CFLAGS
Gibt die Objective C/C++ Compiler-Flags für die Erstellung eines Projekts an. Diese Flags werden zusätzlich zu QMAKE_CFLAGS und QMAKE_CXXFLAGS verwendet.
QMAKE_POST_LINK
Gibt das Kommando an, das nach dem Zusammenlinken des TARGET ausgeführt werden soll. Diese Variable ist normalerweise leer und wird daher nicht ausgeführt.
Hinweis: Diese Variable hat keine Auswirkungen auf Xcode-Projekte.
QMAKE_PRE_LINK
Gibt den Befehl an, der vor der Verknüpfung des TARGETs ausgeführt werden soll. Diese Variable ist normalerweise leer und wird daher nicht ausgeführt.
Warnung: Diese Variable wird nicht unterstützt, wenn Sie den Xcode-Generator und das neue Xcode-Build-System verwenden.
QMAKE_PROJECT_NAME
Hinweis: Diese Variable wird nur für Visual Studio Projektdateien verwendet.
Legt den Namen des Projekts fest, wenn Projektdateien für IDEs generiert werden. Der Standardwert ist der Zielname. Der Wert dieser Variable wird normalerweise von qmake verwaltet und muss selten geändert werden.
QMAKE_PROVISIONING_PROFILE
Hinweis: Diese Variable wird nur unter macOS, iOS, tvOS und watchOS verwendet.
Die UUID eines gültigen Provisioning-Profils. Wird in Verbindung mit QMAKE_DEVELOPMENT_TEAM verwendet, um das Provisioning-Profil anzugeben.
Hinweis: Durch die Angabe des Provisioning-Profils wird die automatisch verwaltete Signierung deaktiviert.
QMAKE_MAC_SDK
Diese Variable wird unter macOS beim Erstellen von universellen Binärdateien verwendet.
QMAKE_MACOSX_DEPLOYMENT_TARGET
Hinweis: Diese Variable wird nur auf der macOS-Plattform verwendet.
Gibt die harte Mindestversion von macOS an, die von der Anwendung unterstützt wird.
Weitere Informationen finden Sie unter Unterstützte macOS-Versionen.
QMAKE_MAKEFILE
Gibt den Namen des zu erstellenden Makefiles an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_QMAKE
Enthält den absoluten Pfad des ausführbaren Programms qmake.
Hinweis: Versuchen Sie nicht, den Wert dieser Variable zu überschreiben.
QMAKE_RESOURCE_FLAGS
Diese Variable wird verwendet, um die Liste der Optionen anzupassen, die an die Resource Compiler in jeder der Build-Regeln, in denen sie verwendet wird. Die folgende Zeile stellt zum Beispiel sicher, dass die Optionen -threshold
und -compress
jedes Mal, wenn rcc
aufgerufen wird, mit bestimmten Werten verwendet werden:
QMAKE_RESOURCE_FLAGS += -threshold 0 -compress 9
QMAKE_RPATHDIR
Hinweis: Diese Variable wird nur auf Unix-Plattformen verwendet.
Gibt eine Liste von Bibliothekspfaden an, die der ausführbaren Datei zur Link-Zeit hinzugefügt werden, damit die Pfade zur Laufzeit bevorzugt durchsucht werden.
Wenn relative Pfade angegeben werden, wird qmake sie in eine Form umwandeln, die vom dynamischen Linker als relativ zum Ort der verweisenden ausführbaren Datei oder Bibliothek verstanden wird. Dies wird nur von einigen Plattformen unterstützt (derzeit Linux und Darwin-basierte) und kann durch die Überprüfung, ob QMAKE_REL_RPATH_BASE gesetzt ist, festgestellt werden.
QMAKE_RPATHLINKDIR
Gibt eine Liste von Bibliothekspfaden an, in denen der statische Linker nach impliziten Abhängigkeiten von Shared Libraries suchen soll. Weitere Informationen finden Sie in der Manual Page für ld(1)
.
QMAKE_RUN_CC
Gibt die einzelne Regel an, die für die Erstellung eines Objekts benötigt wird. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_RUN_CC_IMP
Gibt die individuelle Regel an, die für die Erstellung eines Objekts benötigt wird. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_RUN_CXX
Gibt die individuelle Regel an, die für die Erstellung eines Objekts benötigt wird. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_RUN_CXX_IMP
Gibt die individuelle Regel an, die für die Erstellung eines Objekts benötigt wird. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
QMAKE_SONAME_PREFIX
Wenn definiert, wird der Wert dieser Variable als Pfad verwendet, der dem Bezeichner der erstellten Shared Library SONAME
vorangestellt wird. SONAME
ist der Bezeichner, den der dynamische Linker später zum Verweisen auf die Bibliothek verwenden wird. Im Allgemeinen kann diese Referenz ein Bibliotheksname oder ein vollständiger Bibliothekspfad sein. Unter macOS, iOS, tvOS und watchOS kann der Pfad relativ mit den folgenden Platzhaltern angegeben werden:
Platzhalter | Wirkung |
---|---|
@rpfad | Erweitert auf Pfade, die durch LC_RPATH mach-o-Befehle in der ausführbaren Datei des aktuellen Prozesses oder den referenzierenden Bibliotheken definiert sind. |
@ausführbarer_pfad | Erweitert sich auf den Speicherort der ausführbaren Datei des aktuellen Prozesses. |
@loader_path | Erweitert auf den Speicherort der verweisenden ausführbaren Datei oder Bibliothek. |
In den meisten Fällen ist die Verwendung von @rpath
ausreichend und empfehlenswert:
# <project root>/project.pro QMAKE_SONAME_PREFIX = @rpath
Das Präfix kann jedoch auch mit anderen Platzhaltern oder einem absoluten Pfad angegeben werden, wie z. B. einem der folgenden:
# <project root>/project.pro QMAKE_SONAME_PREFIX = @executable_path/../Frameworks QMAKE_SONAME_PREFIX = @loader_path/Frameworks QMAKE_SONAME_PREFIX = /Library/Frameworks
Weitere Informationen finden Sie in der dyld-Dokumentation zu Installationsnamen für dynamische Bibliotheken.
QMAKE_TARGET
Gibt den Namen des Projektziels an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
QMAKE_TARGET_COMPANY
Nur für Windows. Gibt die Firma für das Projektziel an; dies wird gegebenenfalls für die Angabe des Firmennamens in den Eigenschaften der Anwendung verwendet. Dies wird nur verwendet, wenn die Variablen VERSION oder RC_ICONS gesetzt sind und die Variablen RC_FILE und RES_FILE nicht gesetzt sind.
QMAKE_TARGET_DESCRIPTION
Nur für Windows. Gibt die Beschreibung für das Projektziel an; diese wird gegebenenfalls für die Beschreibung in den Eigenschaften der Anwendung verwendet. Wird nur verwendet, wenn die Variablen VERSION oder RC_ICONS gesetzt sind und die Variablen RC_FILE und RES_FILE nicht gesetzt sind.
QMAKE_TARGET_COPYRIGHT
Nur für Windows. Gibt die Copyright-Informationen für das Projektziel an; dies wird gegebenenfalls für das Einfügen der Copyright-Informationen in die Eigenschaften der Anwendung verwendet. Dies wird nur verwendet, wenn die Variablen VERSION oder RC_ICONS gesetzt sind und die Variablen RC_FILE und RES_FILE nicht gesetzt sind.
QMAKE_TARGET_PRODUCT
Nur für Windows. Gibt das Produkt für das Projektziel an; dies wird gegebenenfalls verwendet, um das Produkt in den Eigenschaften der Anwendung anzugeben. Dies wird nur verwendet, wenn die Variablen VERSION oder RC_ICONS gesetzt sind und die Variablen RC_FILE und RES_FILE nicht gesetzt sind.
QMAKE_TARGET_ORIGINAL_FILENAME
Nur für Windows. Gibt den Originaldateinamen für das Projektziel an; dieser wird gegebenenfalls verwendet, um den Originaldateinamen in den Eigenschaften der Anwendung anzugeben. Dies wird nur verwendet, wenn die Variablen VERSION oder RC_ICONS gesetzt sind und die Variablen RC_FILE und RES_FILE nicht gesetzt sind.
QMAKE_TARGET_INTERNALNAME
Nur für Windows. Gibt den internen Namen für das Projektziel an; dieser wird ggf. für die Angabe des internen Namens in den Eigenschaften der Anwendung verwendet. Wird nur verwendet, wenn die Variablen VERSION oder RC_ICONS gesetzt sind und die Variablen RC_FILE und RES_FILE nicht gesetzt sind.
QMAKE_TARGET_KOMMENTARE
Nur für Windows. Gibt die Kommentare für das Projektziel an; dies wird gegebenenfalls für die Eingabe der Kommentare in die Eigenschaften der Anwendung verwendet. Dies wird nur verwendet, wenn die Variablen VERSION oder RC_ICONS gesetzt sind und die Variablen RC_FILE und RES_FILE nicht gesetzt sind.
QMAKE_TARGET_TRADEMARKS
Nur für Windows. Gibt die Trademark-Informationen für das Projektziel an; dies wird gegebenenfalls verwendet, um die Trademark-Informationen in die Eigenschaften der Anwendung aufzunehmen. Dies wird nur verwendet, wenn die Variablen VERSION oder RC_ICONS gesetzt sind und die Variablen RC_FILE und RES_FILE nicht gesetzt sind.
QMAKE_MANIFEST
Nur für Windows. Gibt die Manifestdatei für das Projektziel an. Dies wird nur verwendet, wenn die Variablen RC_FILE und RES_FILE nicht gesetzt sind. Vergessen Sie nicht, embed_manifest_exe und embed_manifest_dll aus der CONFIG-Variable zu entfernen, da es sonst zu Konflikten mit der vom Compiler erzeugten Datei kommt.
QMAKE_TVOS_DEPLOYMENT_TARGET
Hinweis: Diese Variable wird nur auf der tvOS-Plattform verwendet.
Gibt die harte Mindestversion von tvOS an, die von der Anwendung unterstützt wird.
Für weitere Informationen siehe Expressing Supported iOS Versions.
QMAKE_UIC_FLAGS
Diese Variable wird verwendet, um die Liste der Optionen anzupassen, die an die User Interface Compiler in jeder der Build-Regeln, in denen sie verwendet wird.
QMAKE_WATCHOS_DEPLOYMENT_TARGET
Hinweis: Diese Variable wird nur auf der watchOS-Plattform verwendet.
Gibt die harte Mindestversion von watchOS an, die von der Anwendung unterstützt wird.
Weitere Informationen finden Sie unter Expressing Supported iOS Versions.
QML_IMPORT_MAJOR_VERSION
Gibt die Hauptversion an, die für automatisch generierte QML-Typregistrierungen verwendet werden soll. Weitere Informationen finden Sie unter Definieren von QML-Typen aus C++.
QML_IMPORT_MINOR_VERSION
Bei der automatischen Registrierung von QML-Typen, die in C++ definiert wurden, wird eine zusätzliche Version des Moduls unter Verwendung dieser Minor-Version registriert. Im Allgemeinen werden die zu registrierenden Minor-Versionen aus den Meta-Objekten abgeleitet.
Sie können diese Variable verwenden, wenn sich die Metaobjekte nicht geändert haben und Sie dennoch ein QML-Modul mit einer neueren Nebenversionsnummer importieren möchten. Zum Beispiel sind die Metaobjekte von MyModule
auf der Ebene 1.1
, aber Sie wollen das Modul als 1.3
importieren.
QML_IMPORT_VERSION
Gibt QML_IMPORT_MAJOR_VERSION und QML_IMPORT_MINOR_VERSION als <major>.<minor>
Versionsstring an.
QML_IMPORT_NAME
Gibt den Modulnamen an, der für automatisch generierte QML-Typregistrierungen verwendet werden soll. Weitere Informationen finden Sie unter Definieren von QML-Typen aus C++.
QML_FOREIGN_METATYPES
Gibt weitere JSON-Dateien mit Metatypen an, die bei der Generierung von qmltypes-Dateien berücksichtigt werden sollen. Verwenden Sie dies, wenn externe Bibliotheken Typen bereitstellen, die in QML entweder direkt oder als Basistypen oder Eigenschaften anderer Typen verfügbar sind. Qt-Typen werden automatisch berücksichtigt und müssen hier nicht hinzugefügt werden.
QT
Gibt die Qt-Module an, die von Ihrem Projekt verwendet werden. Den Wert, der für jedes Modul hinzuzufügen ist, finden Sie in der Moduldokumentation.
Auf der Ebene der C++-Implementierung macht die Verwendung eines Qt-Moduls dessen Header zur Einbindung verfügbar und bewirkt, dass es mit der Binärdatei verknüpft wird.
Standardmäßig enthält QT
core
und gui
, so dass Standard-GUI-Anwendungen ohne weitere Konfiguration erstellt werden können.
Wenn Sie ein Projekt ohne das Qt GUI Modul erstellen möchten, müssen Sie den Wert gui
mit dem Operator "-=" ausschließen. Die folgende Zeile wird dazu führen, dass ein minimales Qt-Projekt erstellt wird:
QT -= gui # Only the core module is used.
Wenn Ihr Projekt ein Qt Widgets Designer-Plugin ist, verwenden Sie den Wert uiplugin
, um anzugeben, dass das Projekt als Bibliothek gebaut werden soll, aber mit spezifischer Plugin-Unterstützung für Qt Widgets Designer. Für weitere Informationen siehe Bauen und Installieren des Plugins.
QTPLUGIN
Gibt eine Liste von Namen statischer Qt-Plugins an, die mit einer Applikation gelinkt werden sollen, so dass sie als eingebaute Ressourcen verfügbar sind.
qmake fügt automatisch die Plugins hinzu, die typischerweise von den verwendeten Qt-Modulen benötigt werden (siehe QT
). Die Voreinstellungen sind auf eine optimale Out-of-the-Box Erfahrung abgestimmt. Siehe Static Plugins für eine Liste der verfügbaren Plugins und Möglichkeiten, die automatische Verknüpfung zu überschreiben.
Diese Variable hat derzeit keine Auswirkung beim Linken gegen ein Shared/Dynamic-Build von Qt, oder beim Linken von Bibliotheken. Sie kann für den Einsatz von dynamischen Plugins zu einem späteren Zeitpunkt verwendet werden.
QT_VERSION
Enthält die aktuelle Version von Qt.
QT_MAJOR_VERSION
Enthält die aktuelle Hauptversion von Qt.
QT_MINOR_VERSION
Enthält die aktuelle Minor-Version von Qt.
QT_PATCH_VERSION
Enthält die aktuelle Patch-Version von Qt.
RC_FILE
Nur für Windows. Gibt den Namen der Windows-Ressourcendatei (.rc) für das Ziel an. Siehe Hinzufügen von Windows-Ressourcen-Dateien.
RC_CODEPAGE
Nur für Windows. Gibt die Codepage an, die in einer generierten .rc-Datei angegeben werden soll. Dies wird nur verwendet, wenn die Variablen VERSION oder RC_ICONS gesetzt sind und die Variablen RC_FILE und RES_FILE nicht gesetzt sind.
RC_DEFINES
Nur Windows. qmake fügt die Werte dieser Variable als RC-Präprozessormakros hinzu (Option /d). Wenn diese Variable nicht gesetzt ist, wird stattdessen die DEFINES-Variable verwendet.
RC_DEFINES += USE_MY_STUFF
RC_ICONS
Nur für Windows. Gibt die Icons an, die in eine generierte .rc-Datei aufgenommen werden sollen. Dies wird nur verwendet, wenn die Variablen RC_FILE und RES_FILE nicht gesetzt sind. Weitere Details über die Erzeugung von .rc-Dateien finden Sie in den Platform Notes.
RC_LANG
Nur für Windows. Gibt die Sprache an, die in einer generierten .rc-Datei angegeben werden soll. Dies wird nur verwendet, wenn die Variablen VERSION oder RC_ICONS gesetzt sind und die Variablen RC_FILE und RES_FILE nicht gesetzt sind.
RC_INCLUDEPATH
Gibt die Include-Pfade an, die an die Windows Resource Compiler übergeben werden.
RCC_DIR
Gibt das Verzeichnis für Qt Resource Compiler Ausgabedateien an.
Zum Beispiel:
unix:RCC_DIR = ../myproject/resources win32:RCC_DIR = c:/myproject/resources
REQUIRES
Gibt eine Liste von Werten an, die als Bedingungen ausgewertet werden. Wenn eine der Bedingungen falsch ist, überspringt qmake dieses Projekt (und seine SUBDIRS) beim Erstellen.
Hinweis: Wir empfehlen, stattdessen die Funktion requires() zu verwenden, wenn Sie Projekte oder Unterprojekte beim Bauen auslassen wollen.
RESOURCES
Gibt den Namen der Ressourcensammlungsdateien (qrc) für das Ziel an. Weitere Informationen über die Ressourcensammlungsdatei finden Sie unter Das Qt Resource System.
RES_FILE
Nur für Windows. Gibt den Namen der Ausgabedatei des Windows Resource Compilers für dieses Ziel an. Siehe RC_FILE und Hinzufügen von Windows-Ressourcen-Dateien.
Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
SOURCES
Gibt die Namen aller Quelldateien im Projekt an.
Zum Beispiel:
SOURCES = myclass.cpp \ login.cpp \ mainwindow.cpp
Siehe auch HEADERS.
SUBDIRS
Diese Variable, wenn sie mit der Vorlage subdirs
verwendet wird, gibt die Namen aller Unterverzeichnisse oder Projektdateien an, die Teile des Projekts enthalten, die erstellt werden müssen. Jedes mit dieser Variable angegebene Unterverzeichnis muss seine eigene Projektdatei enthalten.
Es wird empfohlen, dass die Projektdatei in jedem Unterverzeichnis denselben Basisnamen wie das Unterverzeichnis selbst hat, da dies das Weglassen des Dateinamens ermöglicht. Wenn das Unterverzeichnis zum Beispiel myapp
heißt, sollte die Projektdatei in diesem Verzeichnis myapp.pro
heißen.
Alternativ können Sie auch einen relativen Pfad zu einer .pro-Datei in einem beliebigen Verzeichnis angeben. Es wird dringend empfohlen, dass Sie nur Pfade im übergeordneten Verzeichnis des aktuellen Projekts oder in dessen Unterverzeichnissen angeben.
Ein Beispiel:
SUBDIRS = kernel \ tools \ myapp
Wenn Sie sicherstellen müssen, dass die Unterverzeichnisse in einer bestimmten Reihenfolge erstellt werden, verwenden Sie den Modifikator .depends
für die entsprechenden SUBDIRS
Elemente.
Ein Beispiel:
SUBDIRS += my_executable my_library tests doc my_executable.depends = my_library tests.depends = my_executable
Die obige Konfiguration stellt sicher, dass my_library
vor my_executable
und my_executable
vor tests
erstellt wird. Allerdings kann doc
parallel zu den anderen Unterverzeichnissen erstellt werden, was den Erstellungsprozess beschleunigt.
Hinweis: Es können mehrere Abhängigkeiten aufgelistet werden und sie werden alle vor dem Ziel gebaut, das von ihnen abhängt.
Hinweis: Von der Verwendung von CONFIG += ordered wird abgeraten, da es Multicore-Builds verlangsamen kann. Im Gegensatz zu dem oben gezeigten Beispiel werden alle Builds nacheinander erstellt, auch wenn sie keine Abhängigkeiten haben.
Neben der Definition der Build-Reihenfolge ist es möglich, das Standardverhalten von SUBDIRS
zu ändern, indem zusätzliche Modifikatoren für SUBDIRS
Elemente angegeben werden. Unterstützte Modifikatoren sind:
Modifikator | Wirkung |
---|---|
.subdir | Verwendung des angegebenen Unterverzeichnisses anstelle des SUBDIRS Wertes. |
.file | Explizite Angabe der Datei des Unterprojekts pro . Kann nicht in Verbindung mit dem Modifikator .subdir verwendet werden. |
.depends | Dieses Unterprojekt hängt von dem/den angegebenen Unterprojekt(en) ab. |
.makefile | Das Makefile des Unterprojekts. Nur auf Plattformen verfügbar, die makefiles verwenden. |
.ziel | Basisstring, der für Makefile-Ziele in Bezug auf dieses Unterprojekt verwendet wird. Nur auf Plattformen verfügbar, die makefiles verwenden. |
Definieren Sie zum Beispiel zwei Unterverzeichnisse, die sich beide in einem anderen Verzeichnis befinden als der Wert SUBDIRS
, und eines der Unterverzeichnisse muss vor dem anderen gebaut werden:
SUBDIRS += my_executable my_library my_executable.subdir = app my_executable.depends = my_library my_library.subdir = lib
TARGET
Gibt den Namen der Zieldatei an. Enthält standardmäßig den Basisnamen der Projektdatei.
Ein Beispiel:
TEMPLATE = app TARGET = myapp SOURCES = main.cpp
Die obige Projektdatei würde eine ausführbare Datei namens myapp
unter Unix und myapp.exe
unter Windows erzeugen.
TARGET_EXT
Gibt die Erweiterung von TARGET
an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss selten geändert werden.
TARGET_x
Spezifiziert die Erweiterung von TARGET
mit einer Hauptversionsnummer. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
TARGET_x.y.z
Gibt die Erweiterung von TARGET
mit einer Versionsnummer an. Der Wert dieser Variable wird normalerweise von qmake oder qmake.conf verwaltet und muss nur selten geändert werden.
TEMPLATE
Gibt den Namen der Vorlage an, die beim Erzeugen des Projekts verwendet werden soll. Die erlaubten Werte sind:
Option | Beschreibung |
---|---|
app | Erzeugt ein Makefile für die Erstellung von Anwendungen (Standard). Siehe Erstellen einer Anwendung für weitere Informationen. |
lib | Erzeugt ein Makefile für die Erstellung von Bibliotheken. Siehe Erstellen einer Bibliothek für weitere Informationen. |
Unterverzeichnisse | Erzeugt ein Makefile für die Erstellung von Zielen in Unterverzeichnissen. Die Unterverzeichnisse werden mit der Variable SUBDIRS angegeben. |
aux | Erzeugt ein Makefile, mit dem nichts gebaut wird. Verwenden Sie dies, wenn kein Compiler aufgerufen werden muss, um das Ziel zu erstellen; zum Beispiel, weil Ihr Projekt in einer interpretierten Sprache geschrieben ist. Hinweis: Dieser Vorlagentyp ist nur für Makefile-basierte Generatoren verfügbar. Insbesondere funktioniert er nicht mit den vcxproj- und Xcode-Generatoren. |
vcapp | Nur für Windows. Erzeugt ein Anwendungsprojekt für Visual Studio. Weitere Informationen finden Sie unter Erstellen von Visual Studio-Projektdateien. |
vclib | Nur für Windows. Legt ein Bibliotheksprojekt für Visual Studio an. |
Zum Beispiel:
TEMPLATE = lib SOURCES = main.cpp TARGET = mylib
Die Vorlage kann überschrieben werden, indem ein neuer Vorlagentyp mit der Befehlszeilenoption -t
angegeben wird. Dadurch wird der Vorlagentyp überschrieben , nachdem die .pro-Datei verarbeitet wurde. Bei .pro-Dateien, die den Vorlagentyp verwenden, um zu bestimmen, wie das Projekt erstellt wird, ist es notwendig, TEMPLATE auf der Befehlszeile zu deklarieren, anstatt die Option -t
zu verwenden.
ÜBERSETZUNGEN
Gibt eine Liste von Übersetzungsdateien (.ts) an, die Übersetzungen des Benutzeroberflächentextes in Nicht-Muttersprachen enthalten.
Die Übersetzungsdateien in TRANSLATIONS
werden sowohl von lrelease als auch von lupdate verarbeitet. Verwenden Sie EXTRA_TRANSLATIONS, wenn Sie möchten, dass nur lrelease
eine Datei verarbeitet.
Sie können CONFIG += lrelease verwenden, um die Dateien automatisch während des Builds zu kompilieren, und CONFIG += lrelease embed_translations, um sie im Qt Resource System verfügbar zu machen.
Weitere Informationen über Internationalisierung (i18n) und Lokalisierung (l10n) mit Qt finden Sie im Qt Linguist Handbuch.
TR_EXCLUDE
Gibt eine Liste von Pfaden (Quelldateien, Unterverzeichnisse und C++-Include-Pfade) an, die von der Behandlung in lupdate
ausgeschlossen werden sollen. Die Pfade können Wildcards enthalten. Relative Pfade werden als relativ zu _PRO_FILE_PWD_ betrachtet.
Zum Beispiel, um Quelldateien auszuschließen:
SOURCES += main.cpp \ excluded.cpp \ 3rdparty/sqlite3.h \ 3rdparty/sqlite3.c TR_EXCLUDE += excluded.cpp 3rdparty/*
Um Unterverzeichnisse eines SUBDIRS
Projekts auszuschließen:
SUBDIRS += \ libs \ apps \ tests TR_EXCLUDE += tests
Um den C++-Parser von Lupdate zu beschleunigen, schließen Sie Include-Pfade aus:
linux { TR_EXCLUDE += /usr/include/boost/* }
UI_DIR
Gibt das Verzeichnis an, in dem alle Zwischendateien von uic abgelegt werden sollen.
Zum Beispiel:
unix:UI_DIR = ../myproject/ui win32:UI_DIR = c:/myproject/ui
VERSION
Gibt die Versionsnummer der Anwendung an, wenn die Vorlage app
angegeben ist, oder die Versionsnummer der Bibliothek, wenn die Vorlage lib
angegeben ist.
Löst unter Windows die automatische Generierung einer .rc-Datei aus, wenn die Variablen RC_FILE und RES_FILE nicht gesetzt sind. Die erzeugte .rc-Datei enthält die Einträge FILEVERSION und PRODUCTVERSION, die mit Major, Minor, Patch Level und Build-Nummer gefüllt sind. Jede Nummer muss im Bereich von 0 bis 65535 liegen. Weitere Einzelheiten über die Erzeugung von .rc-Dateien finden Sie in den Plattformhinweisen.
Zum Beispiel:
win32:VERSION = 1.2.3.4 # major.minor.patch.build else:VERSION = 1.2.3 # major.minor.patch
VERSION_PE_HEADER
Nur für Windows. Gibt die Versionsnummer an, die der Windows-Linker über die Option /VERSION in den Header der .exe- oder .dll-Datei setzt. Es kann nur eine Haupt- und eine Nebenversion angegeben werden. Wenn VERSION_PE_HEADER nicht gesetzt ist, wird auf die Haupt- und Nebenversion von VERSION (falls gesetzt) zurückgegriffen.
VERSION_PE_HEADER = 1.2
VER_MAJ
Gibt die Hauptversionsnummer der Bibliothek an, wenn die Vorlage lib
angegeben ist.
VER_MIN
Gibt die Nebenversionsnummer der Bibliothek an, wenn die Vorlage lib
angegeben ist.
VER_PAT
Gibt die Patch-Versionsnummer der Bibliothek an, wenn die Vorlage lib
angegeben ist.
VPATH
Weist qmake an, wo es nach Dateien suchen soll, die es nicht öffnen kann. Wenn qmake z.B. nach SOURCES
sucht und einen Eintrag findet, den es nicht öffnen kann, durchsucht es die gesamte VPATH-Liste, um zu sehen, ob es die Datei selbst finden kann.
Siehe auch DEPENDPATH.
WINDOWS_ZIEL_PLATTFORM_VERSION
Gibt die angestrebte Windows-Version an; dies entspricht dem Tag WindowsTargetPlatformVersion
in vcxproj-Dateien.
Unter Desktop-Windows ist der Standardwert der Wert der Umgebungsvariablen WindowsSDKVersion
.
WINDOWS_TARGET_PLATFORM_MIN_VERSION
Gibt die Mindestversion der Windows-Zielplattform an; dies entspricht dem Tag WindowsTargetPlatformMinVersion
in vcxproj-Dateien.
Der Standardwert ist WINDOWS_TARGET_PLATFORM_VERSION
.
YACCSOURCES
Gibt eine Liste von Yacc-Quelldateien an, die in das Projekt aufgenommen werden sollen. Alle Abhängigkeiten, Header und Quelldateien werden automatisch in das Projekt aufgenommen.
Zum Beispiel:
YACCSOURCES = moc.y
_PRO_FILE_
Enthält den Pfad zu der verwendeten Projektdatei.
Die folgende Zeile bewirkt zum Beispiel, dass der Speicherort der Projektdatei in die Konsole geschrieben wird:
message($$_PRO_FILE_)
Hinweis: Versuchen Sie nicht, den Wert dieser Variablen zu überschreiben.
_PRO_FILE_PWD_
Enthält den Pfad zu dem Verzeichnis, das die verwendete Projektdatei enthält.
Die folgende Zeile bewirkt zum Beispiel, dass der Ort des Verzeichnisses, in dem sich die Projektdatei befindet, in die Konsole geschrieben wird:
message($$_PRO_FILE_PWD_)
Hinweis: Versuchen Sie nicht, den Wert dieser Variablen zu überschreiben.
Siehe auch QQmlEngine::addImportPath().
© 2025 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.