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?

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top