Quelle est la différence entre *.pro
et *.pri
fichiers de configuration pour qmake?
Que doit contenir un fichier * .pro et que doit contenir un fichier * .pri?
UNE .pro
le fichier est ce sur quoi vous exécuteriez QMake. UNE .pri
le fichier est inclus par un .pro
fichier. À part cela, il n'y a pas beaucoup de différence entre les deux.
Un exemple d'utilisation pourrait être si vous avez différentes versions qui nécessitent différentes options. Vous pouvez mettre des informations partagées dans le .pro, tout en reportant les options à divers fichiers .pri. Un peu plus d'informations, mais certes pas beaucoup plus, peut être trouvé ici .
Il y a une différence principale entre leur réutilisation ciblée:
Ceci est généralement appelé Project File.
Ceci est généralement appelé Projet Inclure Fichier.
Comme vous pouvez le voir dans leurs noms, la principale différence est que .pri
les fichiers sont censés être des fichiers d'inclusion. Cela revient à inclure des modules dans le langage de programmation pour partager la fonctionnalité, essentiellement.
Vous pourrez écrire les paramètres et le code communs dans ces .pri
fichiers et les inclure à partir de plusieurs .pro
fichiers selon les besoins. Voici comment vous l'utiliseriez dans la pratique:
FOO = BAR
...
include($$PWD/foo.pri)
...
...
include($$PWD/foo.pri)
...
De cette façon, les points communs seraient disponibles à la fois dans hello.pro
aussi bien que world.pro
. Cela ne fait pas beaucoup de différence dans ce scénario, mais lorsque la fonctionnalité partagée s'allonge, cela vous fera économiser de l'écriture ainsi que la synchronisation, la correction de bogues, etc.
Vous pouvez même inclure un .pri
fichier dans un autre .pri
fichier si vous le souhaitez. Vous pouvez également inclure .pri
fichiers dans différents sous-projets, etc. C'est très agréable.
La syntaxe est cependant la même pour les deux .pro
et .pri
des dossiers. À la fin, vous exécuteriez qmake sur le .pro
fichiers, et c'est aussi ce que qmake génère pour vous si vous n'avez pas de fichier projet existant et que vous avez l'intention d'utiliser qmake -project
.
Vous pouvez en savoir plus sur la fonction include ici :
inclure (nom de fichier)
Inclut le contenu du fichier spécifié par nom de fichier dans le projet en cours au point où il est inclus. Cette fonction réussit si le nom de fichier est inclus; sinon cela échoue. Le fichier inclus est traité immédiatement.
Vous pouvez vérifier si le fichier a été inclus en utilisant cette fonction comme condition pour une étendue.
Juste pour être complet, il y a aussi .prf
Projet Fonctionnalité Fichiers et .prl
Project Linker Files, mais en tant qu'utilisateur final, vous n'avez pas besoin de vous en occuper pour l'instant.
Le format du .pri
fichiers est exactement le même que le format de .pro
des dossiers. La principale différence est d'ordre d'intention; un .pro est ce que la plupart des gens s'attendent à utiliser directement qmake, tandis qu'un .pri doit être inclus par un .pro. Lorsque vous demandez à qmake d'inclure un autre fichier, il traite simplement les commandes de ce fichier comme si elles se trouvaient dans le fichier actuel.
Pour référence: *. Pro vs * .pri