Spanish English Malay German French

Incluyendo archivos .pro en archivos .pro

Los archivos de proyectos de QMake necesidad de contar con la característica de incluir. Esta es una gran herramienta, pero hay algunos trucos del oficio a tener en cuenta.

En primer lugar, una convención, los archivo .pro incluidos dentro de otros archivos .pro son comúnmente denominados *.PRI, sólo para indicar que son para la inclusión. Esto también significa que qmake no los encuentra, pero utiliza el archivo .pro apropiado en su lugar.

En un archivo .pro tienes dos variables importantes INCLUDEPATH y DEPENDPATH. La primera es usada por el compilador C++ cuando resuelve las sentencias #include, mientras que el segundo es usado por qmake cuando se trata de determinar qué compilar y en qué orden.

Para crear un árbol de código verdaderamente móvil, los archivos .pri actualizar las variables de forma adecuada. Mi truco para hacerlo es contar con el directorio de trabajo actual. Puede encontrar esto corriendo en la linea de comando $$system(pwd) (en Unix/Linux solamente).

Cuando tenga la configuración del include y las rutas dependientes, es sólo una cuestión de añadirlas a las secciones SOURCES, HEADERS, RESOURCES y FORMS

Para resumir, he aquí un pequeño ejemplo:

  1. INCLUDEPATH += $$system(pwd)/include
  2. DEPENDSPATH += $$system(pwd)
  3.  
  4. SOURCES += src/foo.cpp
  5. HEADERS += include/foo.h
  6. FORMS += forms/foo.ui
  7. RESOURCES += foo.qrc

Finalmente en el archivo .pro, simplemente añada el archivo .pri llamando al include:

  1. ...
  2. include(support/foo/foo.pri)
  3. ...

Advertencias

Esta solución parece ser demasiado inteligente para las herramientas de traducción. Para poder utilizar lrelease y lupdate, debe contar con archivos .pro/.pri menos dinámicos, o simplemente encontrar una manera de generar un archivo .pro personalizado solo para ser usado en las traducciones.

Categories: