77 votes

Qt : *.pro vs *.pri

Quelle est la différence entre *.pro et *.pri des fichiers de configuration pour qmake ?

Que doit-on mettre dans un fichier *.pro et que doit-on mettre dans un fichier *.pri ?

67voto

lpapp Points 22857

Il existe une différence principale entre leur réutilisation ciblée :

.pro

C'est ce qu'on appelle généralement Dossier de projet .

.pri

C'est ce qu'on appelle généralement Projet Inclure Fichier .

Comme vous pouvez le voir dans leurs noms, la principale différence est que .pri sont destinés à être des fichiers d'inclusion. C'est similaire à l'inclusion de modules dans un langage de programmation pour partager la fonctionnalité, essentiellement.

Vous serez en mesure d'écrire les paramètres et le code les plus courants dans ceux-ci .pri et les inclure à partir de plusieurs .pro en fonction des besoins. C'est ainsi que vous l'utiliserez dans la pratique :

foo.pri

FOO = BAR

hello.pro

...
include($$PWD/foo.pri)
...

monde.pro

...
include($$PWD/foo.pri)
...

De cette façon, le point commun serait disponible à la fois dans hello.pro ainsi que world.pro . Cela ne fait pas une grande différence dans ce scénario, mais lorsque la fonctionnalité partagée sera plus longue, cela vous permettra d'économiser de l'écriture ainsi que de la synchronisation, de la correction de bogues, etc.

Vous pouvez même inclure un .pri à l'intérieur d'un autre fichier .pri si vous le souhaitez. Vous pouvez également inclure .pri dans différents sous-projets, etc. C'est très agréable.

Toutefois, la syntaxe est la même pour les deux types d'éléments. .pro et .pri des dossiers. Au final, vous lancerez qmake sur le fichier .pro et c'est aussi ce que qmake génère pour vous si vous n'avez pas de fichier de projet existant et que vous avez l'intention d'utiliser le programme qmake -project .

Vous pouvez en savoir plus sur la fonction include ici :

include(nom du fichier)

Inclut le contenu du fichier spécifié par nom de fichier dans le projet actuel à l'endroit où il est inclus. Cette fonction réussit si le nom de fichier est inclus, sinon elle é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 portée.

Pour être complet, il y a aussi .prf Projet Fonctionnalité Fichiers mais en tant qu'utilisateur final, vous n'avez pas besoin de vous en occuper pour le moment.

46voto

Bart Points 10767

A .pro est celui sur lequel vous exécuterez QMake. A .pri est inclus par un fichier .pro fichier. En dehors de cela, il n'y a pas beaucoup de différence entre les deux.

Un exemple d'utilisation pourrait être si vous avez différentes constructions qui ont besoin de différentes options. Vous pourriez mettre les informations partagées dans le fichier .pro, tout en reportant les options dans différents fichiers .pri. Un peu plus d'informations, mais pas beaucoup plus, il est vrai, peuvent être trouvés ici .

16voto

AlphaMale Points 10074

Le format de la .pri est exactement le même que le format du fichier .pro fichiers. La principale différence est une question d'intention ; un .pro est ce sur quoi la plupart des gens s'attendent à exécuter qmake directement, alors 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 était dans le fichier courant.

Pour référence : *.pro vs *.pri

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X