qt qmake qtcore

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í .