Wie Qt moc zu automatisieren?
Frage
Ich habe die folgenden Befehle von Qt Eingabeaufforderung auszuführen: qmake -project
dann make
und das gibt mir die Debug-Ordner mit der Moc Datei
.
Das ist seltsam der einzige Weg, mein PC die moc_.cpp
Datei erzeugen.
Wie kann ich die Aufgabe, diese Befehle automatisieren, damit ich diese Befehle nicht wieder verwenden müssen?
Lösung
Sie sollten qmake -project
mehrere Male nicht ausgeführt werden. Die -project
Option soll Ihnen eine Vorlage Projektdatei für Sie zu bearbeiten bereitzustellen. Ein Äquivalent, was Sie in einer IDE tun würde jedes Mal, wenn Sie bauen wollen, ein „Neues Projekt“ erschaffen. Nachdem Sie das ursprüngliche Projekt haben, sollten Sie es manuell bearbeiten, Dateien hinzufügen, wenn Sie neue Dateien, etc. Wenn einige Header-Datei ändert, um die erzeugte Makefile wird es bemerken und Call-moc auf den moc zu aktualisieren _ *. CPP-Datei automatisch. Also:
- Ausführen
qmake -project
, wenn Sie an einem Projekt zu arbeiten beginnen. - Ausführen
qmake
wenn Sie Makefiles erzeugen. - Ausführen
make
wenn Sie das Projekt erstellen möchten.
Andere Tipps
Ich denke, haben Sie zwei Möglichkeiten.
-
Aufruf Qmake von einem Make-Prozess Eltern und machen Sie ein Multi-Level zu bauen. ( "Rekursive make").
-
direkt die Metaobjekt-Compiler von Regeln in Ihrer Make-Datei ausführen
Wenn die zweiten, diese Seite auf mit dem Meta-Objekt Compiler kann helfen .