Qual è la differenza tra i file di configurazione *.pro
e *.pri
per qmake?
Cosa dovrebbe essere contenuto in un file * .pro e cosa dovrebbe essere contenuto in un file * .pri?
Qual è la differenza tra i file di configurazione *.pro
e *.pri
per qmake?
Cosa dovrebbe essere contenuto in un file * .pro e cosa dovrebbe essere contenuto in un file * .pri?
Risposte:
Un .pro
file è ciò su cui eseguire QMake. Un .pri
file è incluso in un .pro
file. A parte questo, non c'è molta differenza tra i due.
Un esempio di utilizzo potrebbe essere la presenza di build differenti che richiedono opzioni differenti. È possibile inserire le informazioni condivise nel .pro, rimandando le opzioni a vari file .pri. Un po 'più di informazioni, anche se certamente non molte di più, possono essere trovate qui .
C'è una differenza principale tra il loro riutilizzo mirato:
Questo di solito è chiamato file di progetto .
Questo di solito è chiamato Project Include File .
Come puoi vedere nei loro nomi, la differenza principale è che i .pri
file sono pensati per includere file. Questo è simile all'inclusione di moduli nel linguaggio di programmazione per condividere la funzionalità, essenzialmente.
Sarai in grado di scrivere le impostazioni e il codice comuni in quei .pri
file e includerli da diversi .pro
file in base alle necessità. Ecco come lo useresti in pratica:
FOO = BAR
...
include($$PWD/foo.pri)
...
...
include($$PWD/foo.pri)
...
In questo modo, la comunanza sarebbe disponibile sia in hello.pro
che in world.pro
. Non fa molta differenza in questo scenario, ma quando la funzionalità condivisa diventa più lunga, ti risparmierà un po 'di scrittura, nonché la sincronizzazione, la correzione dei bug e così via.
Puoi anche includere un .pri
file all'interno di un altro .pri
file, se lo desideri. Potresti anche includere .pri
file in diversi sottoprogetti, ecc. È molto carino.
La sintassi è la stessa, tuttavia, per i file .pro
e .pri
. Alla fine, dovresti eseguire qmake sui .pro
file, e questo è anche ciò che qmake genera per te se non hai un file di progetto esistente e intendi utilizzare qmake -project
.
Puoi leggere di più sulla funzione include qui :
include (nome file)
Include il contenuto del file specificato da filename nel progetto corrente nel punto in cui è incluso. Questa funzione ha successo se il nome del file è incluso; altrimenti fallisce. Il file incluso viene elaborato immediatamente.
È possibile verificare se il file è stato incluso utilizzando questa funzione come condizione per un ambito.
Giusto per essere completa, ci sono anche .prf
progetto Feature file e .prl
di progetto linker file , ma come un utente finale, non c'è bisogno di trattare con che per ora.
Il formato dei .pri
file è esattamente lo stesso del formato dei .pro
file. La differenza principale è di intenti; un .pro è ciò che la maggior parte delle persone si aspetterebbe di eseguire direttamente con qmake, mentre un .pri deve essere incluso da un .pro. Quando istruisci qmake di includere un altro file, elabora semplicemente i comandi in quel file come se fossero nel file corrente.
Per riferimento: * .pro vs * .pri