Quelle est la différence entre *.pro
et *.pri
les fichiers de configuration pour qmake?
Que doit contenir un fichier * .pro et que doit contenir un fichier * .pri?
Un .pro
fichier est ce sur quoi vous exécuteriez QMake. Un .pri
fichier est inclus dans 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, bien que pas beaucoup plus, vous pouvez trouver ici .
Il existe une différence principale entre leur réutilisation ciblée:
Ceci est généralement appelé fichier de projet .
Ceci est généralement appelé fichier d' inclusion de projet .
Comme vous pouvez le voir dans leurs noms, la principale différence est que les .pri
fichiers sont censés être des fichiers d'inclusion. Cela revient à inclure des modules dans un 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 en cas de besoin. 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
et dans world.pro
. Cela ne fait pas beaucoup de différence dans ce scénario, mais lorsque la fonctionnalité partagée s'allonge, cela vous évitera d'écrire ainsi que de synchroniser, de corriger des bogues, etc.
Vous pouvez même inclure un .pri
fichier dans un autre .pri
fichier si vous le souhaitez. Vous pouvez également inclure des .pri
fichiers dans différents sous-projets, etc. C'est très agréable.
La syntaxe est cependant la même pour les fichiers .pro
et .pri
. En fin de compte, vous exécuteriez qmake sur les .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 d'inclusion ici :
include (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, il é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.
Pour être complet, il y a aussi du .prf
projet Feature fichiers et .prl
projet Linker fichiers , mais en tant qu'utilisateur final, vous n'avez pas besoin de traiter avec pour l' instant.
Le format des .pri
fichiers est exactement le même que le format des .pro
fichiers. La principale différence est celle de l'intention; un .pro est ce sur quoi la plupart des gens s'attendent à exécuter qmake directement, 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 s'il se trouvait dans le fichier actuel.
Pour référence: * .pro vs * .pri