Ausführen von qmake

Das Verhalten von qmake kann durch die Angabe verschiedener Optionen in der Kommandozeile angepasst werden. Diese erlauben eine Feinabstimmung des Build-Prozesses, liefern nützliche Diagnoseinformationen und können verwendet werden, um die Zielplattform für Ihr Projekt festzulegen.

Befehlssyntax

Die Syntax zum Ausführen von qmake hat die folgende einfache Form:

qmake [mode] [options] files

Hinweis: Wenn Sie Qt über einen Paketmanager installiert haben, kann die Binärdatei qmake6 lauten.

Betriebsmodi

qmake unterstützt zwei verschiedene Betriebsmodi. Im Standardmodus verwendet qmake die Informationen in einer Projektdatei, um ein Makefile zu erzeugen, aber es ist auch möglich, qmake zur Erzeugung von Projektdateien zu verwenden. Wenn Sie den Modus explizit einstellen wollen, müssen Sie ihn vor allen anderen Optionen angeben. Die mode kann einen der beiden folgenden Werte annehmen:

  • -makefile
    qmake output wird ein Makefile sein.
  • -project
    Die qmake-Ausgabe wird eine Projektdatei sein.

    Hinweis: Es ist wahrscheinlich, dass die erzeugte Datei bearbeitet werden muss. Fügen Sie zum Beispiel die Variable QT hinzu, um die für das Projekt erforderlichen Module zu berücksichtigen.

Sie können die options verwenden, um sowohl allgemeine als auch modusspezifische Einstellungen vorzunehmen. Optionen, die nur für den Makefile-Modus gelten, werden im Abschnitt Optionen für den Makefile-Modus beschrieben, während Optionen, die die Erstellung von Projektdateien beeinflussen, im Abschnitt Optionen für den Projektmodus beschrieben werden.

Dateien

Das Argument files steht für eine Liste von einer oder mehreren Projektdateien, die durch Leerzeichen getrennt sind.

Allgemeine Optionen

Auf der Kommandozeile von qmake kann eine Vielzahl von Optionen angegeben werden, um den Erstellungsprozess anzupassen und um die Standardeinstellungen für Ihre Plattform zu überschreiben. Die folgenden grundlegenden Optionen bieten Hilfe bei der Verwendung von qmake, geben an, wohin qmake die Ausgabedatei schreibt, und steuern den Grad der Debugging-Informationen, die auf die Konsole geschrieben werden:

  • -help
    qmake geht auf diese Funktionen ein und gibt einige nützliche Hilfestellungen.
  • -o file
    Die Ausgabe von qmake wird nach file geleitet. Wenn diese Option nicht angegeben wird, versucht qmake, einen geeigneten Dateinamen für seine Ausgabe zu verwenden, abhängig vom Modus, in dem es läuft.
    Wenn '-' angegeben ist, wird die Ausgabe nach stdout geleitet.
  • -d
    qmake wird Debugging-Informationen ausgeben. Das Hinzufügen von -d mehr als einmal erhöht die Ausführlichkeit.

Die für das Projekt verwendete Vorlage wird normalerweise durch die Variable TEMPLATE in der Projektdatei festgelegt. Sie können dies mit den folgenden Optionen überschreiben oder ändern:

  • -t tmpl
    qmake überschreibt alle gesetzten TEMPLATE Variablen mit tmpl, aber erst nachdem die .pro Datei verarbeitet wurde.
  • -tp prefix
    qmake fügt prefix zu der Variable TEMPLATE hinzu.

Der Grad der Warninformationen kann fein abgestimmt werden, um Ihnen zu helfen, Probleme in Ihrer Projektdatei zu finden:

  • -Wall
    qmake wird alle bekannten Warnungen melden.
  • -Wnone
    qmake erzeugt keine Warnhinweise.
  • -Wparser
    qmake wird nur Parser-Warnungen ausgeben. Dadurch werden Sie auf häufige Fallstricke und mögliche Probleme beim Parsen Ihrer Projektdateien aufmerksam gemacht.
  • -Wlogic
    qmake warnt vor häufigen Fallstricken und potentiellen Problemen in Ihrer Projektdatei. Zum Beispiel meldet qmake das mehrfache Vorkommen von Dateien in Listen und fehlende Dateien.

Optionen im Makefile-Modus

qmake -makefile [options] files

Im Makefile-Modus erzeugt qmake ein Makefile, das zur Erstellung des Projekts verwendet wird. Zusätzlich können in diesem Modus die folgenden Optionen verwendet werden, um die Art und Weise, wie die Projektdatei erzeugt wird, zu beeinflussen:

  • -after
    qmake verarbeitet die auf der Kommandozeile angegebenen Zuweisungen nach den angegebenen Dateien.
  • -nocache
    qmake wird die Datei .qmake.cache ignorieren.
  • -nodepend
    qmake wird keine Abhängigkeitsinformationen erzeugen.
  • -cache file
    qmake verwendet file als Cache-Datei und ignoriert alle anderen gefundenen .qmake.cache-Dateien.
  • -spec spec
    qmake verwendet spec als Pfad zu Plattform- und Compilerinformationen und ignoriert den Wert von QMAKESPEC.

Sie können auch qmake-Zuweisungen auf der Kommandozeile übergeben. Sie werden vor allen anderen angegebenen Dateien verarbeitet. Der folgende Befehl erzeugt zum Beispiel ein Makefile aus test.pro:

qmake -makefile -o Makefile "CONFIG+=test" test.pro

Einige der angegebenen Optionen können jedoch weggelassen werden, da sie Standardwerte sind:

qmake "CONFIG+=test" test.pro

Wenn Sie sicher sind, dass Ihre Variablen nach den angegebenen Dateien verarbeitet werden sollen, können Sie die Option -after übergeben. Wenn Sie diese Option angeben, werden alle Zuweisungen in der Befehlszeile nach der Option -after aufgeschoben, bis die angegebenen Dateien geparst sind.

Optionen für den Projektmodus

qmake -project [options] files

Im Projektmodus erzeugt qmake eine Projektdatei. Zusätzlich können Sie in diesem Modus die folgenden Optionen angeben:

  • -r
    qmake durchsucht die angegebenen Verzeichnisse rekursiv.
  • -nopwd
    qmake wird nicht in Ihrem aktuellen Arbeitsverzeichnis nach Quellcode suchen. Es wird nur das angegebene files verwenden.

In diesem Modus kann das Argument files eine Liste von Dateien oder Verzeichnissen sein. Wenn ein Verzeichnis angegeben wird, wird es in die DEPENDPATH-Variable aufgenommen, und der relevante Code von dort wird in die generierte Projektdatei aufgenommen. Wenn eine Datei angegeben wird, wird sie an die richtige Variable angehängt, je nach ihrer Erweiterung. Zum Beispiel werden UI-Dateien zu FORMS und C++-Dateien zu SOURCES hinzugefügt.

Sie können in diesem Modus auch Zuweisungen in der Befehlszeile übergeben. In diesem Fall werden diese Zuweisungen als letztes in der generierten Projektdatei platziert.

© 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.