Frage
Was ist der Unterschied zwischen *.pro
und *.pri
Konfigurationsdateien für QMake?
Was sollte in eine *.Pro -Datei gehen und was sollte in eine *.Pri -Datei eingehen?
Lösung
EIN .pro
Datei ist das, worauf Sie QMake ausführen würden. EIN .pri
Datei ist von a enthalten .pro
Datei. Abgesehen davon gibt es keinen großen Unterschied zwischen den beiden.
Die Beispielnutzung könnte sein, wenn Sie unterschiedliche Builds haben, die unterschiedliche Optionen benötigen. Sie können gemeinsam genutzte Informationen in das .Pro einfügen und die Optionen in verschiedene .Pri -Dateien verschieben. Ein bisschen mehr Informationen, obwohl zugegebenermaßen nicht viel mehr, kann hier gefunden werden.
Andere Tipps
Es gibt einen Hauptunterschied zwischen ihrer gezielten Wiederverwendung:
.Profi
Dies wird normalerweise genannt Projektdatei.
.Pri
Dies wird normalerweise genannt Projekt Enthalten Datei.
Wie Sie in ihren Namen sehen können, ist der Hauptunterschied das .pri
Dateien sollen Dateien enthalten. Dies ähnelt dem Einbeziehen von Modulen in die Programmiersprache, um die Funktionalität im Wesentlichen zu teilen.
Sie können die gemeinsamen Einstellungen und Code in diese schreiben .pri
Dateien und schließen sie von mehreren ein .pro
Dateien, wie es erforderlich ist. So würden Sie es in der Praxis verwenden:
foo.pri
FOO = BAR
Hallo.pro
...
include($$PWD/foo.pri)
...
World.Pro
...
include($$PWD/foo.pri)
...
Auf diese Weise wäre die Gemeinsamkeit beide in verfügbar hello.pro
ebenso gut wie world.pro
. Es macht in diesem Szenario keinen großen Unterschied, aber wenn die gemeinsame Funktionalität länger wird, speichert sie Ihnen einige Schreiben sowie Synchronisierung, Fehler und so weiter.
Sie könnten sogar a einschließen .pri
Datei in einem anderen .pri
Datei, wenn Sie möchten. Sie können auch einschließen .pri
Dateien in verschiedenen Unterprojekten usw. Es ist sehr schön.
Die Syntax ist jedoch für beide gleich .pro
und .pri
Dateien. Am Ende würden Sie QMake auf dem ausführen .pro
Dateien, und das ist auch das, was QMake für Sie generiert, wenn Sie keine Projektdatei vorhanden haben und Sie verwenden möchten qmake -project
.
Sie können mehr über die Funktion bei der Einfügungsfunktion lesen hier drin:
einschließen (Dateiname)
Enthält den Inhalt der vom Dateinamen angegebenen Datei in das aktuelle Projekt an dem Punkt, an dem sie enthalten ist. Diese Funktion ist erfolgreich, wenn der Dateiname enthalten ist. Ansonsten scheitert es. Die mitgelieferte Datei wird sofort verarbeitet.
Sie können prüfen, ob die Datei mit dieser Funktion als Bedingung für einen Umfang verwendet wurde.
Nur um vollständig zu sein, gibt es auch .prf
Projekt Feature Dateien und .prl
Projekt Linker Dateien, Aber als Endbenutzer müssen Sie sich vorerst nicht damit befassen.
Das Format der .pri
Dateien sind genau das gleiche wie das Format der .pro
Dateien. Der Hauptunterschied ist die Absicht; A .Pro ist das, was die meisten Menschen erwarten würden, QMake direkt zu betreiben, während ein. PRI von einem .Pro aufgenommen werden soll. Wenn Sie QMake anweisen, eine andere Datei einzuschließen, verarbeitet es nur die Befehle in dieser Datei, als ob sie in der aktuellen Datei wäre.
Als Referenz: *.pro vs *.pri