17 Stimmen

Verwendung von .pri-Dateien in Qt

Dies ist eine Folgefrage zu dieser Frage Wie erstellt man ein Unterverzeichnis für ein Projekt in qt-creator? wobei die erste Antwort bei mir nicht funktioniert hat.

Ich habe das Problem gelöst, indem ich jede Datei manuell in die Haupt-.pro-Datei geschrieben habe, was nicht viel schwieriger ist, aber ich frage mich immer noch, wie genau .pri-Dateien funktionieren und warum die oben verlinkte Lösung nicht die Ordner, sondern nur die .pri-Dateien hinzugefügt hat, so dass es im Qt Creator so aussah:

Qt creator screenshot

Meine Fragen lauten also:

  • Welches ist das allgemeine Format der .pri-Dateien?
  • Warum funktioniert die obige Lösung nicht?

1 Stimmen

Einfach eine ausführliche Erklärung hinterlassen über die .pri y .pro Dateidifferenzen, da noch niemand eine zur Verfügung gestellt hat, nur eine kurze Beschreibung :)

24voto

Das Format der .pri Dateien ist genau dasselbe wie das Format der .pro Dateien. Der Hauptunterschied liegt in der Absicht; eine .pro ist das, was die meisten Menschen erwarten würden, wenn sie qmake direkt an, während ein .pri ist durch eine .pro . Wenn Sie qmake anweisen, eine andere Datei einzubinden, verarbeitet es die Befehle in dieser Datei einfach so, als ob sie in der aktuellen Datei wären.

Das letzte Mal, als ich mir Qt Creator angesehen habe, hat das Programm zusätzliches Parsing durchgeführt und erkannt, dass .pri Dateien getrennt waren, und listen Sie alle headers/sources/ui/rc/pri-Dateien aus dieser Datei speziell als Unterverzeichnis auf, ähnlich wie Sie die include.pri Dateien, die im Screenshot zu dieser Frage aufgeführt sind.

12voto

Fred Punkte 4783

Wenn ich mir Ihren Screenshot ansehe, vermute ich, dass QtCreator die in der .pri-Datei aufgeführten Header-Dateien nicht findet. Wenn sich Ihre .pri-Datei in einem anderen Verzeichnis befindet als Ihre .pro-Datei (was hier der Fall zu sein scheint), sucht Qt nach den in der .pri-Datei aufgeführten Dateien im gleichen Verzeichnis wie die .pri-Datei (nicht die .pro-Datei), und jeder relative Pfad wird von diesem Verzeichnis aus aufgelöst.

Wenn eine Datei nicht gefunden werden kann, ignoriert QtCreator sie stillschweigend und fügt sie dem Ordner in der Projektansicht einfach nicht hinzu. Wenn Sie z.B. den vollständigen Pfad für line.h, circle.h und bezier.h in Ihrer include.pri-Datei angegeben haben, erscheinen sie in der Projektansicht, sobald Sie die Datei speichern. Jetzt müssen Sie nur noch herausfinden, welches der geeignete relative Pfad zu diesen Dateien in Bezug auf die .pri-Datei ist.

0voto

Nathan Campos Punkte 27663

Auszug aus Qt 4.5: Projekte verwalten :

Die .pri-Datei enthält die Liste der Quelldateien, Header-Dateien, .ui-Dateien und .qrc-Dateien im Projekt.

Weitere Informationen zu diesen Dateien und ihren Betriebssystemen finden Sie hier:

  • Eine .vcproj-Datei mit Windows-spezifischen Einstellungen und einer Liste der Dateien im Projekt.
  • Eine .pro-Datei mit Unix- und/oder Mac OS X-spezifischen Einstellungen.
  • Eine .pri-Datei (eine qmake-Include-Datei), in der die Dateien des Projekts aufgeführt sind.

Ich empfehle Ihnen einen Blick auf den Link zu werfen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X