Pregunta
Cuál es la diferencia entre *.pro
y *.pri
¿Archivos de configuración para Qmake?
¿Qué debería ir a un archivo *.pro y qué debería ir en un archivo *.pri?
Solución
A .pro
El archivo es en lo que ejecutaría Qmake. A .pri
el archivo está incluido por un .pro
expediente. Aparte de eso, no hay mucha diferencia entre los dos.
El uso de ejemplo podría ser si tiene diferentes compilaciones que necesitan diferentes opciones. Puede poner información compartida en el .pro, mientras aplaza las opciones a varios archivos .pri. Un poco más de información, aunque ciertamente no mucho más, se puede encontrar aquí.
Otros consejos
Hay una diferencia principal entre su reutilización de Targetted:
.Pro
Esto generalmente se llama Archivo de proyectos.
.pri
Esto generalmente se llama Proyecto Incluir Expediente.
Como puede ver en sus nombres, la principal diferencia es que .pri
Los archivos están destinados a incluir archivos. Eso es similar a la inclusión de módulos en el lenguaje de programación para compartir la funcionalidad, esencialmente.
Podrá escribir la configuración y código común en aquellos .pri
archivos e incluirlos de varios .pro
archivos a medida que surge la necesidad. Así es como lo usarías en la práctica:
foo.pri
FOO = BAR
Hola.pro
...
include($$PWD/foo.pri)
...
Mundo.pro
...
include($$PWD/foo.pri)
...
De esta manera, la comunidad estaría disponible tanto en hello.pro
tanto como world.pro
. No hace mucha diferencia en este escenario, pero cuando la funcionalidad compartida se hace más larga, le ahorrará algo de escritura, así como sincronizar, disculparse, etc.
Incluso podrías incluir un .pri
Archivo dentro de otro .pri
Archivo si lo desea. También podrías incluir .pri
archivos en diferentes subproyectos, etc. Es muy agradable.
La sintaxis es la misma, sin embargo, para ambos .pro
y .pri
archivos. Al final, ejecutarías Qmake en el .pro
archivos, y eso es también lo que Qmake genera para usted si no tiene un archivo de proyecto existente y tiene la intención de usar qmake -project
.
Puedes leer más sobre la función de incluir aquí:
incluir (nombre de archivo)
Incluye el contenido del archivo especificado por el nombre de archivo en el proyecto actual en el punto donde está incluido. Esta función tiene éxito si se incluye el nombre de archivo; de lo contrario falla. El archivo incluido se procesa de inmediato.
Puede verificar si el archivo se incluyó utilizando esta función como condición para un alcance.
Solo para estar completo, también hay .prf
Proyecto Rasgo Archivos y .prl
Proyecto Enlazador Archivos, pero como usuario final, no necesita lidiar con eso por ahora.
El formato de la .pri
Los archivos son exactamente lo mismo que el formato de la .pro
archivos. La principal diferencia es una intención; Un .pro es lo que la mayoría de la gente esperaría ejecutar Qmake directamente, mientras que un .pri debe ser incluido por un .pro. Cuando instruye a QMake que incluya otro archivo, simplemente procesa los comandos en ese archivo como si estuviera en el archivo actual.
Para referencia: *.pro vs *.pri