2009-12-28 14 views
13

Questo è un seguito a questa domanda How to create a subdirectory for a project in qt-creator?, in cui la prima risposta non ha funzionato per me.Utilizzo di file .pri in Qt

Ho risolto il problema scrivendo manualmente ogni file nel file .pro principale, che non è molto più difficile, ma mi chiedo ancora come funzionano esattamente i file .pri e perché la soluzione collegata sopra non ha aggiunto le cartelle , ma solo i file .pri, in modo che si presentava così in Qt Creator:

Qt creator screenshot http://i45.tinypic.com/f4ogeh.png

quindi, le mie domande sono:

  • Qual è il formato generale dei file .pri?
  • Perché la soluzione sopra non funziona?
+0

Solo [ha lasciato una spiegazione approfondita] (http://stackoverflow.com/questions/8358627/qt-pro-vs-pri/23845651#23845651) sulle differenze di file '.pri' e' .pro' visto che nessuno ne ha ancora fornito uno, solo qualche rapido resoconto. :) – lpapp

risposta

7

La mia ipotesi di guardare lo screenshot è che QtCreator non trova i file di intestazione elencati nel file .pri. Se il tuo file .pri si trova in una directory diversa da quella del tuo file .pro (che sembra essere il caso qui), Qt cerca i file elencati nel file .pri nella stessa directory del file .pri (non il file .pri). pro file) e qualsiasi percorso relativo verrà risolto da quella directory.

Quando non è possibile trovare un file, QtCreator lo ignora silenziosamente e semplicemente non lo aggiunge alla cartella nella vista di progetto. Se, ad esempio, hai utilizzato il percorso completo per line.h, circle.h e bezier.h nel file include.pri, non appena salvi il file, li vedrai apparire nella vista progetti. La chiave ora è semplicemente capire quale sia il percorso relativo appropriato che punta a quei file relativi al file .pri.

+0

questa risposta non è così descrittiva, ma risolve il mio problema, grazie –

+9

qmake cerca i file relativi alla directory contenente il file .pro (non il file .pri). – Nick

0

estratto da Qt 4.5: Managing Projects:

Il file .pri contiene l'elenco dei file sorgente, file header, file .ui e file .qrc nel progetto.

Per ulteriori informazioni su questi file e la loro sistemi operativi:

  • Un file .vcproj contenente le impostazioni specifiche di Windows e l'elenco dei file nel progetto.
  • Un file .pro contenente impostazioni specifiche Unix e/o Mac OS X.
  • Un file .pri (un file include qmake) che elenca i file nel progetto.

Ti suggerisco di dare un'occhiata al link.

+0

Un file .pro può contenere anche impostazioni specifiche di Windows. Un file .vcproj può essere generato da questo file .pro. –

19

Il formato dei file .pri corrisponde esattamente al formato dei file .pro. La principale differenza è quella dell'intento; un .pro è ciò che la maggior parte delle persone si aspetta di eseguire direttamente su qmake, mentre uno .pri deve essere incluso da un .pro. Quando istruisci qmake per includere un altro file, elabora semplicemente i comandi in quel file come se si trovasse nel file corrente.

L'ultima volta che ho guardato Qt Creator, che avrebbe fatto ulteriore analisi e riconoscere che .pri file sono stati separati, ed elenca tutte le intestazioni/sources/ui/RC/file PRI da quel file specifico come sottodirectory, proprio come si vedere i file include.pri elencati nello screenshot di questa domanda.