Was ist der Unterschied zwischen *.pro
und *.pri
Konfigurationsdateien für qmake?
Was sollte in eine * .pro-Datei und was in eine * .pri-Datei gehen?
Eine .pro
Datei ist das, worauf Sie QMake ausführen würden. Eine .pri
Datei ist in einer .pro
Datei enthalten. Davon abgesehen gibt es keinen großen Unterschied zwischen den beiden.
Ein Beispiel für eine Verwendung könnte sein, wenn Sie unterschiedliche Builds haben, die unterschiedliche Optionen benötigen. Sie können freigegebene Informationen in die .pro-Datei einfügen und gleichzeitig die Optionen auf verschiedene PRI-Dateien verschieben. Ein bisschen mehr Informationen, obwohl zugegebenermaßen nicht viel mehr, finden Sie hier .
Es gibt einen Hauptunterschied zwischen ihrer gezielten Wiederverwendung:
Dies wird normalerweise als Projektdatei bezeichnet .
Dies wird normalerweise als Project Include File bezeichnet .
Wie Sie in ihren Namen sehen können, besteht der Hauptunterschied darin, dass .pri
Dateien Include-Dateien sein sollen. Dies ähnelt im Wesentlichen dem Einfügen von Modulen in die Programmiersprache, um die Funktionalität gemeinsam zu nutzen.
Sie können die allgemeinen Einstellungen und den Code in diese .pri
Dateien schreiben und sie bei .pro
Bedarf aus mehreren Dateien einfügen . So würden Sie es in der Praxis anwenden:
FOO = BAR
...
include($$PWD/foo.pri)
...
...
include($$PWD/foo.pri)
...
Auf diese Weise wäre die Gemeinsamkeit sowohl in hello.pro
als auch verfügbar world.pro
. In diesem Szenario macht es keinen großen Unterschied, aber wenn die gemeinsam genutzte Funktionalität länger wird, ersparen Sie sich etwas Schreiben sowie Synchronisieren, Bugfixing und so weiter.
Wenn Sie möchten, können Sie sogar eine .pri
Datei in eine andere .pri
Datei aufnehmen. Sie können auch .pri
Dateien in verschiedene Teilprojekte usw. aufnehmen. Es ist sehr schön.
Die Syntax ist jedoch für die .pro
und die .pri
Dateien gleich. Am Ende würden Sie qmake für die .pro
Dateien ausführen , und das generiert qmake auch für Sie, wenn keine Projektdatei vorhanden ist und Sie diese verwenden möchten qmake -project
.
Weitere Informationen zur Include-Funktion finden Sie hier :
include (Dateiname)
Schließt den Inhalt der durch den Dateinamen angegebenen Datei an der Stelle in das aktuelle Projekt ein, an der sie enthalten ist. Diese Funktion ist erfolgreich, wenn der Dateiname enthalten ist. sonst schlägt es fehl. Die enthaltene Datei wird sofort verarbeitet.
Sie können überprüfen, ob die Datei enthalten war, indem Sie diese Funktion als Bedingung für einen Bereich verwenden.
Nur vollständig zu sein, gibt es auch .prf
Projekt Feature - Dateien und .prl
Projekt Linker - Dateien , sondern als Endbenutzer, die Sie nicht mit , dass für jetzt befassen müssen.
Das Format der .pri
Dateien entspricht genau dem Format der .pro
Dateien. Der Hauptunterschied besteht in der Absicht; Eine .pro ist das, was die meisten Leute erwarten würden, um qmake direkt auszuführen, während eine .pri von einer .pro eingeschlossen werden soll. Wenn Sie qmake anweisen, eine andere Datei einzuschließen, werden die Befehle in dieser Datei einfach so verarbeitet, als ob sie in der aktuellen Datei wären.
Als Referenz: * .pro vs * .pri