Qt:*.pro vs*.pri
qmake qtcore (3)
¿Cuál es la diferencia entre los archivos de configuración *.pro
y *.pri
para qmake?
¿Qué debería ir en un archivo * .pro y qué debería ir en un archivo * .pri?
El formato de los archivos .pri
es exactamente el mismo que el formato de los archivos .pro
. La principal diferencia es uno de intención; a .pro es lo que la mayoría de la gente esperaría ejecutar directamente qmake, mientras que un .pri debe ser incluido por un .pro. Cuando le ordena a qmake que incluya otro archivo, solo procesa los comandos en ese archivo como si estuviera en el archivo actual.
Para referencia: * .pro vs * .pri
Hay una diferencia principal entre su reutilización objetivo:
.Pro
Esto generalmente se llama Archivo de proyecto .
.pri
Esto generalmente se llama Archivo de inclusión de proyecto .
Como puede ver en sus nombres, la principal diferencia es que los archivos .pri
están destinados a ser archivos incluidos. Eso es similar a incluir módulos en el lenguaje de programación para compartir la funcionalidad, esencialmente.
Podrá escribir la configuración común y el código en los archivos .pri
e incluirlos en varios archivos .pro
medida que surja la necesidad. Así es como lo usarías en la práctica:
foo.pri
FOO = BAR
hello.pro
...
include($$PWD/foo.pri)
...
world.pro
...
include($$PWD/foo.pri)
...
De esta forma, lo común estaría disponible tanto en hello.pro
como en world.pro
. No hace mucha diferencia en este escenario, pero cuando la funcionalidad compartida se alarga, le ahorrará algo de escritura, sincronización, corrección de errores, etc.
Incluso podría incluir un archivo .pri
dentro de otro archivo .pri
si lo desea. También podría incluir archivos .pri
en diferentes subproyectos, etc. Es muy bueno.
Sin embargo, la sintaxis es la misma para los archivos .pro
y .pri
. Al final, ejecutará qmake en los archivos .pro
, y eso es también lo que genera qmake para usted si no tiene un archivo de proyecto existente y tiene la intención de usar qmake -project
.
Puede leer más sobre la función de inclusión aquí :
incluir (nombre de archivo)
Incluye los contenidos del archivo especificado por 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 inmediatamente.
Puede verificar si el archivo se incluyó utilizando esta función como condición para un alcance.
Para completar, también hay archivos de características de proyectos .prf
y archivos de .prl
proyectos .prl
, pero como usuario final, no necesita lidiar con eso por el momento.
Un archivo .pro
es lo que ejecutaría QMake. Un archivo .pri
está incluido en un archivo .pro
. Aparte de eso, no hay mucha diferencia entre los dos.
El uso de ejemplos podría ser si tiene diferentes compilaciones que necesitan diferentes opciones. Puede poner información compartida en .pro, mientras difiere las opciones a varios archivos .pri. Un poco más de información, aunque no mucho más, se puede encontrar aquí .