En esta página

Variables

El comportamiento fundamental de qmake está influenciado por las declaraciones de variables que definen el proceso de compilación de cada proyecto. Algunas de ellas declaran recursos, como cabeceras y archivos fuente, que son comunes a cada plataforma. Otros se utilizan para personalizar el comportamiento de los compiladores y enlazadores en plataformas específicas.

Las variables específicas de plataforma siguen el patrón de nomenclatura de las variables que amplían o modifican, pero incluyen el nombre de la plataforma correspondiente en su nombre. Por ejemplo, un makespec puede usar QMAKE_LIBS para especificar una lista de librerías con las que cada proyecto necesita enlazar, y QMAKE_LIBS_X11 se usaría para extender esta lista.

ANDROID_ABIS

Nota: Esta variable sólo se aplica a objetivos Android.

Especifica una lista de ABIs de objetivos Android. Los valores válidos son: armeabi-v7a, arm64-v8a, x86, x86_64.

Puede proporcionar las ABI como argumento de qmake:

qmake ANDROID_ABIS="armeabi-v7a arm64-v8a"

Nota: Es posible utilizar esta variable dentro del archivo *.pro, sin embargo, no se recomienda ya que anulará cualquier ABI especificado en la línea de comandos qmake.

ANDROID_API_VERSION

Nota: Esta variable sólo se aplica a objetivos Android.

Especifica el número de nivel de la API de Android. Para obtener más información, consulte Números de compilación de Android.

ANDROID_ARGUMENTOS_DE_APLICACIÓN

Nota: esta variable sólo se aplica a objetivos Android.

Especifica argumentos de línea de comandos adicionales para la aplicación Android utilizando AndroidManifest.xml con la etiqueta "android.app.arguments". Esto toma una cadena de argumentos:

ANDROID_APPLICATION_ARGUMENTS = "arg1 arg2 arg3"

ANDROID_BUNDLED_JAR_DEPENDENCIES

Nota: Esta variable sólo se aplica a los módulos de Android.

Es útil cuando se escribe un módulo Qt. Especifica una lista de dependencias pre-empaquetadas utilizadas por el módulo en un formato .jar, por ejemplo:

ANDROID_BUNDLED_JAR_DEPENDENCIES += jar/Qt6Android.jar

ANDROID_DEPLOYMENT_DEPENDENCIES

Nota: Esta variable sólo se aplica a objetivos Android.

Por defecto, androiddeployqt detectará las dependencias de su aplicación. Sin embargo, dado que no se puede detectar el uso de plugins en tiempo de ejecución, podría haber falsos positivos, ya que tu aplicación podría depender de cualquier plugin que sea una dependencia potencial. Si quieres minimizar el tamaño de tu APK, es posible anular la detección automática usando la variable this. Esta debe contener una lista de todos los archivos Qt que necesitan ser incluidos, con rutas relativas a la raíz de instalación de Qt.

Nota: Sólo se incluirán los archivos Qt especificados con esta variable. No incluir todos los archivos correctos puede provocar fallos. También es importante asegurarse de que los archivos están listados en el orden de carga correcto. Esta variable proporciona una manera de anular la detección automática por completo, por lo que si una biblioteca aparece antes de sus dependencias, no se cargará en algunos dispositivos.

ANDROID_DEPLOYMENT_SETTINGS_FILE

Nota: Esta variable sólo se aplica a objetivos Android.

Especifica la ruta al archivo android-deployment-settings.json necesario para androiddeployqt y androidtestrunner. Esto anula la ruta al archivo de configuración generado por qmake, por lo que debe asegurarse de proporcionar un archivo de configuración válido.

ANDROID_EXTRA_LIBS

Nota: Esta variable sólo se aplica a los objetivos Android.

Una lista de librerías externas que serán copiadas en la carpeta libs de tu aplicación y cargadas al inicio. Esto se puede utilizar, por ejemplo, para habilitar OpenSSL en su aplicación. Para más información, consulta Añadir soporte OpenSSL para Android.

Para incluir bibliotecas externas para múltiples ABIs, donde cada ABI tiene su propio directorio, utilice lo siguiente:

for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/$${abi}/library_name.so

De lo contrario, si la ABI se incluye en el nombre de la biblioteca, utilice lo siguiente:

for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/library_name_$${abi}.so

ANDROID_EXTRA_PLUGINS

Nota: Esta variable sólo se aplica a objetivos Android.

Especifica una ruta a plugins C++ o recursos que tu aplicación tiene que empaquetar pero que no pueden ser entregados a través del sistema de assets, como plugins QML. Con esta variable, androiddeployqt se asegurará de que todo está empaquetado y desplegado correctamente.

ANDROID_EXTRA_PLUGINS debe apuntar al directorio donde se construyen el plugin(s) extra. Además, la estructura del directorio de construcción debe seguir una convención de nomenclatura similar a la de los plugins Qt, es decir, plugins/<nombre del plugin>.

Las librerías de plugins deben tener el formato libplugins_<tipo>_<nombre>_<abi>.so. Para conseguirlo, el archivo plugin pro podría definirse de la siguiente manera:

TEMPLATE = lib
CONFIG += plugin

PLUGIN_TYPE = imageformats
DESTDIR = $$top_builddir/plugins/myplugin
TARGET = $$qt5LibraryTarget(myplugin, "plugins/$$PLUGIN_TYPE/")

con top_builddir definido en .qmake.conf como:

top_builddir=$$shadowed($$PWD)

Esto asegurará que el nombre correcto se aplica a la biblioteca de plugins(plugins/myplugin/libplugins_imageformats_myplugin_armeabi-v7a.so).

Entonces, asumiendo que un plugin extra de formato de imagen myplugin es construido como $$DESTDIR/plugins/myplugin/, lo siguiente asegura que es empaquetado correctamente:

ANDROID_EXTRA_PLUGINS += $$top_builddir/plugins

ANDROID_FEATURES

Nota: Esta variable sólo se aplica a módulos Android.

Especifica la lista de características de un módulo:

ANDROID_FEATURES += android.hardware.location.gps

Para obtener más información, consulte Android <uses-feature> Docs.

ANDROID_LIB_DEPENDENCIAS

Nota: Esta variable sólo se aplica a los módulos de Android.

Es útil cuando se escribe un módulo Qt. Especifica una lista de dependencias pre-construidas utilizadas por el módulo, por ejemplo:

ANDROID_LIB_DEPENDENCIES += \
    plugins/libplugins_platforms_qtforandroid.so

ANDROID_MIN_SDK_VERSION

Nota: Esta variable sólo se aplica a objetivos Android.

Especifica el nivel mínimo de la API de Android para el proyecto. Por defecto, esta variable se establece en el nivel de API 23.

ANDROID_PACKAGE_SOURCE_DIR

Nota: Esta variable sólo se aplica a objetivos Android.

Especifica la ruta para una plantilla de paquete Android personalizada. La plantilla de paquete Android contiene

  • Archivo AndroidManifest.xml
  • archivo build.gradle y otros scripts Gradle
  • archivo res/values/libs.xml

La ruta especificada por esta variable puede contener clases Java personalizadas bajo el directorio src. Por defecto, la herramienta androiddeployqt copia la plantilla de aplicación de la ruta de instalación de Qt para Android en el directorio de compilación de su proyecto, a continuación, copia el contenido de la ruta especificada por esta variable en la parte superior de la misma, sobrescribiendo los archivos existentes. Por ejemplo, puedes hacer un AndroidManifest.xml personalizado para tu aplicación, y colocarlo directamente en el directorio especificado por esta variable.

ANDROID_PERMISSIONS

Nota: Esta variable sólo se aplica a los módulos de Android.

Especifica la lista de permisos de un módulo:

ANDROID_PERMISSIONS += android.permission.ACCESS_FINE_LOCATION

Para obtener más información, consulte Android <uses-permission> Docs.

ANDROID_TARGET_SDK_VERSION

Nota: Esta variable sólo se aplica a los objetivos de Android.

Especifica el nivel de la API de Android de destino para el proyecto. Por defecto, esta variable se establece en el nivel de API 36.

ANDROID_VERSION_CODE

Nota: Esta variable sólo se aplica a objetivos Android.

Especifica el número de versión de la aplicación. Para más información, consulta Android App Versioning.

ANDROID_VERSION_NAME

Nota: esta variable sólo se aplica a destinos Android.

Especifica la versión de la aplicación en forma de cadena legible por humanos. Para obtener más información, consulte Android App Versioning.

CONFIG

Especifica la configuración del proyecto y las opciones del compilador. Los valores son reconocidos internamente por qmake y tienen un significado especial.

Nota: Los valores distinguen entre mayúsculas y minúsculas.

Los siguientes valores de CONFIG controlan las opciones del compilador y del enlazador:

OpciónDescripción
releaseEl proyecto debe construirse en modo release. Si también se especifica debug, tendrá efecto la última.
depuraciónEl proyecto debe construirse en modo debug.
debug_y_releaseEl proyecto está preparado para ser construido tanto en modo debug como release.
debug_and_release_targetEsta opción está activada por defecto. Si debug_and_release también está activada, las construcciones debug y release terminan en directorios debug y release separados.
build_allSi se especifica debug_and_release, el proyecto se construye por defecto tanto en modo debug como release.
autogen_precompile_sourceGenera automáticamente un archivo .cpp que incluye el archivo de cabecera precompilado especificado en el archivo .pro.
ordenadoCuando se utiliza la plantilla subdirs, esta opción especifica que los directorios enumerados deben procesarse en el orden en que se indican.

Nota: Se desaconseja el uso de esta opción. Especifique las dependencias como se describe en la documentación de la variable SUBDIRS.

precompilar_cabeceraPermite el uso de cabeceras precompiladas en los proyectos.
precompile_header_c (sólo MSVC)Permite el uso de cabeceras pre compiladas para archivos C.
warn_onEl compilador debe mostrar tantas advertencias como sea posible. Si también se especifica warn_off, tendrá efecto el último.
warn_offEl compilador debe mostrar el menor número posible de advertencias.
excepcionesSe activa el soporte de excepciones. Se establece por defecto.
exceptions_offEl soporte de excepciones está deshabilitado.
ltcgLa generación de código en tiempo de enlace está activada. Esta opción está desactivada por defecto.
rttiEl soporte RTTI está habilitado. Por defecto, se utiliza el valor por defecto del compilador.
rtti_offEl soporte RTTI está deshabilitado. Por defecto, se utiliza el valor predeterminado del compilador.
stlEl soporte STL está habilitado. Por defecto, se utiliza el valor predeterminado del compilador.
stl_offEl soporte STL está desactivado. Por defecto, se utiliza el valor predeterminado del compilador.
hiloEl soporte para threads está habilitado. Se habilita cuando CONFIG incluye qt, que es el valor predeterminado.
no_utf8_sourceEspecifica que los archivos fuente del proyecto no utilizan la codificación UTF-8. En su lugar, se utiliza la codificación por defecto del compilador. En su lugar, se utiliza la predeterminada del compilador.
hide_symbolsEstablece la visibilidad por defecto de los símbolos en el binario como oculta. Por defecto, se utiliza la predeterminada del compilador.
c99Se habilita el soporte para C99. Esta opción no tiene efecto si el compilador no soporta C99, o no puede seleccionar el estándar C. Por defecto, se utiliza el compilador por defecto.
c11Se activa la compatibilidad con C11. Esta opción no tiene efecto si el compilador no soporta C11, o no puede seleccionar el estándar C. Por defecto, se utiliza el estándar del compilador.
c17Se activa la compatibilidad con C17, también conocido como C18. Esta opción no tiene efecto si el compilador no soporta C17, o no puede seleccionar el estándar C. Por defecto, se utiliza el estándar del compilador.
c18Este es un alias para el valor c17.
strict_cDesactiva el soporte para las extensiones del compilador C. Por defecto, están habilitadas.
c++11Se habilita el soporte de C++11. Esta opción no tiene efecto si el compilador no soporta C++11, o no puede seleccionar el estándar C++. Por defecto, el soporte está habilitado.
c++14Se activa la compatibilidad con C++14. Esta opción no tiene efecto si el compilador no soporta C++14, o no puede seleccionar el estándar C++. Por defecto, el soporte está habilitado.
c++17Se activa la compatibilidad con C++17. Esta opción no tiene efecto si el compilador no soporta C++17, o no puede seleccionar el estándar C++. Por defecto, el soporte está habilitado.
c++1zAlias obsoleto para c++17.
c++20Se activa la compatibilidad con C++20. Esta opción no tiene efecto si el compilador no soporta C++20, o no puede seleccionar el estándar C++. Por defecto, el soporte está deshabilitado.
c++2aAlias obsoleto para c++20.
c++latestSe habilita la compatibilidad con el último estándar del lenguaje C++. Esta opción es útil sobre todo para MSVC que soporta un argumento de compilador /std:c++latest. Para otras cadenas de herramientas, esta opción habilita el último estándar C++ conocido por Qt. Por defecto, esta opción está desactivada.
strict_c++Desactiva el soporte para las extensiones del compilador C++. Por defecto, están habilitadas.
depend_includepathPermite añadir el valor de INCLUDEPATH a DEPENDPATH. Activado por defecto.
lreleaseEjecuta lrelease para todos los archivos listados en TRANSLATIONS y EXTRA_TRANSLATIONS. Si embed_translations no está configurado, instala los archivos .qm generados en QM_FILES_INSTALL_PATH. Utilice QMAKE_LRELEASE_FLAGS para añadir opciones a la llamada lrelease. No está configurado por defecto.
incrustar_traduccionesIncrusta las traducciones generadas desde lrelease en el ejecutable, bajo QM_FILES_RESOURCE_PREFIX. Requiere que lrelease también esté configurado. No está configurado por defecto.
crear_libtoolCrea un archivo libtool .la para la biblioteca actualmente construida.
create_pcCrea un archivo pkg-config .pc para la biblioteca construida actualmente.
no_batchSólo NMake: Desactiva la generación de reglas por lotes o reglas de inferencia de NMake.
skip_target_version_extSuprimir el número de versión automático añadido al nombre del archivo DLL en Windows.
suprimir_advertencias_vcprojSuprimir las advertencias del generador de proyectos VS.
windeployqtInvocar automáticamente windeployqt después de la vinculación, y añadir la salida como elementos de despliegue.
dont_recurseSuprimir la recursión qmake para el subproyecto actual.
no_include_pwdNo añadir el directorio actual a INCLUDEPATHS.
compilar_fuentes_incluidasPor defecto, qmake no compila los archivos fuente que están incluidos en otros archivos fuente. Esta opción desactiva este comportamiento.

Cuando se utiliza la opción debug_and_release (que es la predeterminada en Windows), el proyecto se procesará tres veces: una vez para producir un Makefile "meta", y dos veces más para producir un Makefile.Debug y un Makefile.Release.

Durante las últimas pasadas, build_pass y las respectivas opciones debug o release se añaden a CONFIG. Esto hace posible realizar tareas específicas de compilación. Por ejemplo:

build_pass:CONFIG(debug, debug|release) {
    unix: TARGET = $$join(TARGET,,,_debug)
    else: TARGET = $$join(TARGET,,,d)
}

Como alternativa a escribir manualmente condicionales de tipo build, algunas variables ofrecen variantes específicas de build, por ejemplo QMAKE_LFLAGS_RELEASE además de la general QMAKE_LFLAGS. Estas deben usarse cuando estén disponibles.

El meta Makefile hace invocables las subconstrucciones a través de los objetivos debug y release, y una construcción combinada a través del objetivo all. Cuando se utiliza la opción build_all CONFIG , la construcción combinada es la predeterminada. De lo contrario, la última opción CONFIG especificada del conjunto (debug, release) determina el valor predeterminado. En este caso, puede invocar explícitamente el objetivo all para compilar ambas configuraciones a la vez:

make all

Nota: Los detalles son ligeramente diferentes cuando se producen proyectos de Visual Studio y Xcode.

Al vincular una biblioteca, qmake se basa en la plataforma subyacente para saber con qué otras bibliotecas se vincula esta biblioteca. Sin embargo, si se enlaza estáticamente, qmake no obtendrá esta información a menos que utilicemos las siguientes opciones de CONFIG:

OpciónDescripción
crear_prlEsta opción permite a qmake rastrear estas dependencias. Cuando esta opción está activada, qmake creará un archivo con la extensión .prl que guardará meta-información sobre la biblioteca (ver Dependencias de Bibliotecas para más información).
link_prlCuando esta opción está habilitada, qmake procesará todas las bibliotecas enlazadas por la aplicación y encontrará su meta-información (ver Dependencias de Bibliotecas para más información).
no_install_prlEsta opción deshabilita la generación de reglas de instalación para los archivos .prl generados.

Nota: La opción create_prl es necesaria cuando se construye una biblioteca estática, mientras que link_prl es necesaria cuando se utiliza una biblioteca estática.

Las siguientes opciones definen el tipo de aplicación o biblioteca:

OpciónDescripción
qtEl objetivo es una aplicación o biblioteca Qt y requiere la biblioteca Qt y los archivos de cabecera. Las rutas de inclusión y de biblioteca adecuadas para la biblioteca Qt se añadirán automáticamente al proyecto. Esta opción está definida por defecto y puede ajustarse con la variable QT.
x11El objetivo es una aplicación o biblioteca X11. Se añadirán automáticamente al proyecto las rutas de inclusión y las bibliotecas adecuadas.
testcaseEl objetivo es una prueba automatizada. Se añadirá un objetivo de comprobación al Makefile generado para ejecutar la prueba. Sólo es relevante cuando se generan Makefiles.
insignificant_testSe ignorará el código de salida de la prueba automatizada. Sólo relevante si testcase también está configurado.
ventanasEl objetivo es una aplicación de ventana Win32 (sólo app). Se añadirán automáticamente al proyecto las rutas de inclusión, las banderas del compilador y las bibliotecas adecuadas.
consolaEl objetivo es una aplicación de consola Win32 (sólo app). Las rutas de inclusión, las banderas del compilador y las bibliotecas adecuadas se añadirán automáticamente al proyecto. Considere el uso de la opción cmdline para aplicaciones multiplataforma.
cmdlineEl objetivo es una aplicación de línea de comandos multiplataforma. En Windows, esto implica CONFIG += console. En macOS, esto implica CONFIG -= app_bundle.
compartidoEl objetivo es un objeto compartido/DLL. Las rutas de inclusión, las banderas del compilador y las bibliotecas se añadirán automáticamente al proyecto. Tenga en cuenta que dll también se puede utilizar en todas las plataformas; se creará un archivo de biblioteca compartida con el sufijo apropiado para la plataforma de destino (.dll o .so).
dll
staticEl objetivo es una biblioteca estática (sólo lib). Los indicadores de compilador adecuados se añadirán automáticamente al proyecto.
staticlib
pluginEl objetivo es un plugin (sólo lib). Esto también habilita dll.
diseñadorEl objetivo es un plugin para Qt Widgets Designer.
no_lflags_mergeGarantiza que la lista de bibliotecas almacenada en la variable LIBS no se reduzca a una lista de valores únicos antes de ser utilizada.
metatiposCrea un archivo <name>_metatypes.json para el proyecto actual. <name> es el nombre base en minúsculas de TARGET.
qmltypesRegistra automáticamente los tipos QML definidos en C++. Para obtener más información, consulte Definición de tipos QML desde C++. Además, crea un archivo <template>.qmltypes para el proyecto actual. <template> será plugins (plural, por razones históricas) si plugin está configurado, o el valor de TEMPLATE en caso contrario. qmltypes implica metatypes.

Estas opciones definen características específicas sólo en Windows:

OpciónDescripción
planoCuando se utiliza la plantilla vcapp esto pondrá todos los archivos fuente en el grupo fuente y los archivos de cabecera en el grupo cabecera independientemente del directorio en el que residan. Si se desactiva esta opción, los archivos se agruparán dentro del grupo fuente/cabecera dependiendo del directorio en el que residan. Esta opción está activada por defecto.
incrustar_manifiesto_dllIncrusta un archivo de manifiesto en la DLL creada como parte de un proyecto de biblioteca.
embed_manifest_exeIncrusta un archivo de manifiesto en el EXE creado como parte de un proyecto de aplicación.

Consulte Notas de la plataforma para obtener más información sobre las opciones para incrustar archivos de manifiesto.

Las siguientes opciones sólo tienen efecto en macOS:

OpciónDescripción
app_bundleColoca el ejecutable en un paquete (por defecto).
lib_bundleColoca la biblioteca en un paquete de bibliotecas.
plugin_bundlePone el plugin en un paquete de plugins. Este valor no está soportado por el generador de proyectos Xcode.

El contenido de la variable QMAKE_BUNDLE_DATA también influye en el proceso de compilación de paquetes.

Las siguientes opciones sólo tienen efecto en plataformas Linux/Unix:

OpciónDescripción
archivo grandeIncluye soporte para archivos grandes.
separar_info_depuraciónPone la información de depuración de las bibliotecas en archivos separados.

La variable CONFIG también se comprobará al resolver ámbitos. Puedes asignar cualquier cosa a esta variable.

Por ejemplo:

CONFIG += console newstuff
...
newstuff {
    SOURCES += new.cpp
    HEADERS += new.h
}

DEFINE

qmake añade los valores de esta variable como macros de preprocesador del compilador C (opción -D).

Por ejemplo:

DEFINES += USE_MY_STUFF

DEFINES_DEBUG

Especifica las definiciones del preprocesador para la configuración de depuración. Los valores de esta variable se añaden a DEFINES después de cargar el proyecto. Esta variable se establece normalmente en qmake.conf y rara vez necesita ser modificada.

Esta variable fue introducida en Qt 5.13.2.

DEFINES_RELEASE

Especifica las definiciones del preprocesador para la configuración de la versión. Los valores de esta variable se añaden a DEFINES después de cargar el proyecto. Esta variable se establece normalmente en qmake.conf y rara vez necesita ser modificada.

Nota: Para MSVC mkspecs, esta variable contiene el valor NDEBUG por defecto.

Esta variable se introdujo en Qt 5.13.2.

ARCHIVO_DEF

Nota: Esta variable sólo se utiliza en Windows cuando se usa la plantilla app.

Especifica un archivo .def a incluir en el proyecto.

DEPENDPATH

Especifica una lista de directorios para qmake para escanear, para resolver las dependencias. Esta variable se utiliza cuando qmake rastrea los archivos de cabecera que #include en su código fuente.

DESTDIR

Especifica dónde colocar el archivo de destino.

Por ejemplo:

DESTDIR = ../../lib

Nota: La lista de caracteres soportados puede depender de la herramienta de compilación utilizada. En particular, los paréntesis no funcionan con make.

DISTFILES

Especifica una lista de archivos que se incluirán en el objetivo dist. Esta función sólo es compatible con las especificaciones de UnixMake.

Por ejemplo

DISTFILES += ../program.txt

DLLDESTDIR

Nota: Esta variable sólo se aplica a objetivos Windows.

Especifica dónde copiar la dll de destino.

EXTRA_TRADUCCIONES

Especifica una lista de archivos de traducción (.ts) que contienen traducciones del texto de la interfaz de usuario a idiomas no nativos.

A diferencia de TRANSLATIONS, los archivos de traducción en EXTRA_TRANSLATIONS sólo serán procesados por lrelease, no por lupdate.

Puedes usar CONFIG += lrelease para compilar automáticamente los archivos durante la compilación, y CONFIG += lrelease embed_translations para hacerlos disponibles en el Sistema de Recursos Qt.

Ver el ManualQt Linguist para más información sobre internacionalización (i18n) y localización (l10n) con Qt.

FICHEROS

Especifica los archivos UI (ver Qt Widgets Designer Manual) a ser procesados por uic antes de compilar. Todas las dependencias, cabeceras y archivos fuente necesarios para compilar estos archivos UI se añadirán automáticamente al proyecto.

Por ejemplo

FORMS = mydialog.ui \
    mywidget.ui \
        myconfig.ui

GUID

Especifica el GUID que se establece dentro de un archivo .vcproj. El GUID suele determinarse aleatoriamente. Sin embargo, si necesita un GUID fijo, puede establecerlo utilizando esta variable.

Esta variable sólo es específica de los archivos .vcproj; de lo contrario, se ignora.

CABECERAS

Define los archivos de cabecera para el proyecto.

qmake detecta automáticamente si moc es requerido por las clases de las cabeceras, y añade las dependencias y archivos apropiados al proyecto para generar y enlazar los archivos moc.

Por ejemplo:

HEADERS = myclass.h \
          login.h \
          mainwindow.h

Ver también SOURCES.

ICONO

Esta variable se utiliza sólo en Mac OS para establecer el icono de la aplicación. Consulte la documentación sobre el icono de la aplicación para obtener más información.

IDLSOURCES

Esta variable se utiliza sólo en Windows para que la generación de proyectos de Visual Studio coloque los archivos especificados en la carpeta Generated Files.

INCLUDEPATH

Especifica los directorios #include en los que se debe buscar al compilar el proyecto.

Por ejemplo:

INCLUDEPATH = c:/msdev/include d:/stl/include

Para especificar una ruta que contenga espacios, entrecomille la ruta utilizando la técnica descrita en Espacios en blanco.

win32:INCLUDEPATH += "C:/mylibs/extra headers"
unix:INCLUDEPATH += "/home/user/extra headers"

INSTALACIONES

Especifica una lista de recursos que se instalarán cuando se ejecute make install o un procedimiento de instalación similar. Cada elemento de la lista suele definirse con atributos que proporcionan información sobre dónde se instalará.

Por ejemplo, la siguiente definición target.path describe dónde se instalará el objetivo de compilación, y la asignación INSTALLS añade el objetivo de compilación a la lista de recursos existentes que se instalarán:

target.path += $$[QT_INSTALL_PLUGINS]/imageformats
INSTALLS += target

INSTALLS tiene un miembro .CONFIG que puede tomar varios valores:

ValorDescripción
no_check_existSi no se establece, qmake comprueba si los archivos a instalar existen realmente. Si estos archivos no existen, qmake no crea la regla de instalación. Utilice este valor de configuración si necesita instalar archivos generados como parte del proceso de compilación, como archivos HTML creados por qdoc.
nostripSi se establece, la funcionalidad típica de strip de Unix se desactiva y la información de depuración permanecerá en el binario.
ejecutableEn Unix, establece la bandera ejecutable.
no_buildCuando usted hace un make install, y usted no tiene una construcción del proyecto todavía, el proyecto es primero construido, y luego instalado. Si no desea este comportamiento, establezca este valor de configuración para asegurarse de que el objetivo de compilación no se añade como dependencia al objetivo de instalación.
no_default_installUn proyecto tiene un objetivo de proyecto de nivel superior donde, cuando se hace un make install, todo se instala. Pero, si tienes un objetivo de instalación con este valor de configuración, no se instala por defecto. Entonces tiene que decir explícitamente make install_<file>.

Para obtener más información, consulte Instalación de archivos.

Esta variable también se utiliza para especificar qué archivos adicionales se desplegarán en los dispositivos embebidos.

JAVA_HOME

Nota: Esta variable sólo es útil para objetivos Android.

Especifica la ruta de instalación de JDK/OpenJDK utilizada para construir el proyecto.

LEXIMPLS

Especifica una lista de archivos de implementación de Lex. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

LEXOBJECTS

Especifica los nombres de los archivos de objetos Lex intermedios. El valor de esta variable es normalmente manejado por qmake y rara vez necesita ser modificado.

LEXSOURCES

Especifica una lista de archivos fuente Lex. Todas las dependencias, cabeceras y archivos fuente se añadirán automáticamente al proyecto para construir estos archivos lex.

Por ejemplo

LEXSOURCES = lexer.l

LIBS

Especifica una lista de bibliotecas que se vincularán al proyecto. Si utiliza el Unix -l (biblioteca) y -L (ruta de la biblioteca) banderas, qmake maneja las bibliotecas correctamente en Windows (es decir, pasa la ruta completa de la biblioteca para el enlazador). La biblioteca debe existir para que qmake encuentre el directorio en el que se encuentra -l lib.

Por ejemplo:

unix:LIBS += -L/usr/local/lib -lmath
win32:LIBS += c:/mylibs/math.lib

Para especificar una ruta que contenga espacios, cite la ruta utilizando la técnica descrita en Espacios en blanco.

win32:LIBS += "C:/mylibs/extra libs/extra.lib"
unix:LIBS += "-L/home/user/extra libs" -lextra

Por defecto, la lista de librerías almacenada en LIBS se reduce a una lista de nombres únicos antes de ser utilizada. Para cambiar este comportamiento, añada la opción no_lflags_merge a la variable CONFIG:

CONFIG += no_lflags_merge

LIBS_PRIVATE

Especifica una lista de bibliotecas que se enlazarán de forma privada en el proyecto. El comportamiento de esta variable es idéntico a LIBS, excepto que los proyectos de bibliotecas compartidas construidos para Unix no exponen estas dependencias en su interfaz de enlace.

El efecto de esto es que si el proyecto C depende de la biblioteca B que depende de la biblioteca A de forma privada, pero C también quiere utilizar símbolos de A directamente, necesita enlazar con A explícitamente. Dicho de otro modo, las bibliotecas enlazadas de forma privada no se exponen transitivamente en tiempo de compilación.

HASH_LITERAL

Esta variable se utiliza siempre que se necesita un carácter hash literal (#) en una declaración de variable, quizás como parte de un nombre de archivo o en una cadena pasada a alguna aplicación externa.

Por ejemplo:

# To include a literal hash character, use the $$LITERAL_HASH variable:
urlPieces = http://doc.qt.io/qt-5/qtextdocument.html pageCount
message($$join(urlPieces, $$LITERAL_HASH))

Usando LITERAL_HASH de esta manera, el carácter # puede usarse para construir una URL para que la función message() imprima en la consola.

ARCHIVO MAK

Especifica el nombre del Makefile generado. El valor de esta variable es típicamente manejado por qmake o qmake.conf y raramente necesita ser modificado.

MAKEFILE_GENERATOR

Especifica el nombre del generador de Makefile que se utilizará al generar un Makefile. El valor de esta variable es manejado internamente por qmake y rara vez necesita ser modificado.

MSVCPROJ_*

Estas variables son manejadas internamente por qmake y no deben ser modificadas o utilizadas.

MOC_DIR

Especifica el directorio donde deben colocarse todos los archivos moc intermedios.

Por ejemplo

unix:MOC_DIR = ../myproject/tmp
win32:MOC_DIR = c:/myproject/tmp

OBJECTIVE_HEADERS

Define los archivos de cabecera Objective-C++ para el proyecto.

qmake detecta automáticamente si moc es requerido por las clases en las cabeceras, y añade las dependencias y archivos apropiados al proyecto para generar y vincular los archivos moc.

Esto es similar a la variable HEADERS, pero permitirá que los archivos moc generados sean compilados con el compilador Objective-C++.

Véase también OBJECTIVE_SOURCES.

FUENTES_OBJETIVO

Especifica los nombres de todos los archivos fuente Objective-C/C++ del proyecto.

Esta variable ha quedado obsoleta, los archivos Objective-C/C++ (.m y .mm) pueden añadirse a la variable SOURCES.

Véase también OBJECTIVE_HEADERS.

OBJECTS

Esta variable se rellena automáticamente a partir de la variable SOURCES. La extensión de cada archivo fuente se sustituye por .o (Unix) u .obj (Win32). Puede añadir objetos a la lista.

DIRECTORIO_OBJETOS

Especifica el directorio donde deben colocarse todos los objetos intermedios.

Por ejemplo

unix:OBJECTS_DIR = ../myproject/tmp
win32:OBJECTS_DIR = c:/myproject/tmp

POST_TARGETDEPS

Enumera las bibliotecas de las que depende el objetivo. Algunos backends, como los generadores de archivos de proyecto de Visual Studio y Xcode, no admiten esta variable. Generalmente, esta variable es soportada internamente por estas herramientas de compilación, y es útil para listar explícitamente las bibliotecas estáticas dependientes.

Esta lista se coloca después de todas las dependencias incorporadas (y $$PRE_TARGETDEPS).

PRE_TARGETDEPS

Lista las bibliotecas de las que depende el objetivo. Algunos backends, como los generadores de archivos de proyecto de Visual Studio y Xcode, no admiten esta variable. Generalmente, esta variable es soportada internamente por estas herramientas de compilación, y es útil para listar explícitamente las bibliotecas estáticas dependientes.

Esta lista se coloca antes de todas las dependencias incorporadas.

CABECERA_PRECOMPILADA

Indica el archivo de cabecera para crear un archivo de cabecera precompilado, para aumentar la velocidad de compilación de un proyecto. Las cabeceras precompiladas sólo están soportadas actualmente en algunas plataformas (Windows - todos los tipos de proyectos MSVC, Apple - Xcode, Makefile, Unix - gcc 3.3 y superiores).

PWD

Especifica la ruta completa que conduce al directorio que contiene el archivo que se está analizando. Esto puede ser útil para referirse a archivos dentro del árbol de fuentes cuando se escriben archivos de proyecto para soportar shadow builds.

Véase también _PRO_FILE_PWD_.

Nota: No intente sobrescribir el valor de esta variable.

OUT_PWD

Especifica la ruta completa que conduce al directorio donde qmake coloca el Makefile generado.

Nota: No intente sobrescribir el valor de esta variable.

QM_FILES_RESOURCE_PREFIX

Especifica el directorio en el sistema de recursos donde .qm archivos estarán disponibles por CONFIG += embed_translations.

El valor predeterminado es :/i18n/.

QM_FILES_INSTALL_PATH

Especifica el directorio de destino en el que se instalarán los archivos .qm generados por CONFIG += lrelease. No tiene ningún efecto si CONFIG += embed_translations está activado.

QML_IMPORT_PATH

Esta variable sólo es utilizada por Qt Creator. Si tienes un módulo extra que se mantiene fuera de tu instalación de Qt, puedes especificar su ruta aquí.

Ver Qt Creator: Using QML Modules with Plugins para más detalles.

QMLPATHS

Espera una lista de rutas de importación que apunten a directorios raíz de árboles de módulos QML. Por ejemplo, si tiene una ubicación personalizada para sus módulos QML, puede especificarla aquí.

Nota: Las entradas de ruta para QMLPATHS apuntan a directorios raíz de árboles de módulos QML. Este es el concepto de rutas de importación que entiende el motor QML. Puede pasar las mismas rutas a través de la variable de entorno QML_IMPORT_PATH a su aplicación QML, pero son diferentes de los contenidos esperados de la variable qmake QML_IMPORT_PATH. Esta última espera que las rutas a módulos individuales sean procesadas únicamente por Qt Creator.

Nota: el contenido de QMLPATHS no se pasa automáticamente a la aplicación. Sólo se utilizan en tiempo de compilación. En particular, qmlimportscanner los utiliza para encontrar cualquier módulo QML que necesite marcar como importado por tu aplicación.

QMAKE

Especifica el nombre del propio programa qmake y se coloca en los Makefiles generados. El valor de esta variable normalmente es manejado por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKESPEC

Variable del sistema que contiene la ruta completa de la configuración de qmake que se utiliza al generar los Makefiles. El valor de esta variable se calcula automáticamente.

Nota: No intente sobrescribir el valor de esta variable.

QMAKE_APPLE_DEVICE_ARCHS

Nota: esta variable sólo se utiliza en macOS.

Especifica una lista de arquitecturas para las que compilar. Por defecto, un proyecto se construye para la arquitectura de la máquina de desarrollo. Esta variable permite anular el valor predeterminado y compilar para una arquitectura diferente o crear binarios multiarquitectura.

Esta variable suele especificarse en la línea de comandos o en el archivo de proyecto.

Ver Qt para macOS para más información.

QMAKE_AR_CMD

Nota: Esta variable sólo se utiliza en plataformas Unix.

Especifica el comando a ejecutar cuando se crea una biblioteca compartida. El valor de esta variable es normalmente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_BUNDLE_DATA

Nota: Esta variable sólo se utiliza en macOS, iOS, tvOS y watchOS.

Especifica los datos que se instalarán con un paquete de bibliotecas, y a menudo se utiliza para especificar una colección de archivos de encabezado.

Por ejemplo, las siguientes líneas añaden path/to/header_one.h y path/to/header_two.h a un grupo que contiene información sobre las cabeceras suministradas con el framework:

FRAMEWORK_HEADERS.version = Versions
FRAMEWORK_HEADERS.files = path/to/header_one.h path/to/header_two.h
FRAMEWORK_HEADERS.path = Headers
QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS

La última línea añade la información sobre las cabeceras a la colección de recursos que se instalarán con el paquete de librerías.

Los paquetes de bibliotecas se crean cuando se añade la opción lib_bundle a la variable CONFIG.

Consulte Platform Notes para obtener más información sobre la creación de paquetes de bibliotecas.

Un proyecto también puede utilizar esta variable para agrupar archivos de traducción de aplicaciones. La sintaxis exacta depende de si el proyecto utiliza el sistema de compilación heredado de Xcode o su nuevo sistema de compilación.

Por ejemplo, cuando el siguiente fragmento de proyecto se construye utilizando el sistema de construcción heredado:

translations_en.files = $$PWD/en.lproj/InfoPlist.strings
translations_en.path = en.lproj
QMAKE_BUNDLE_DATA += translations_en

Xcode ignorará la ubicación original de InfoPlist.strings y el archivo se colocará en el directorio del bundle Resources bajo la ruta proporcionada translations_en.path, de modo que Resources/en.lproj/InfoPlist.strings

Con el nuevo sistema de construcción, la ubicación relativa del archivo se mantiene, lo que significa que el archivo se colocará incorrectamente en Resources/en.lproj/en.lproj/InfoPlist.strings

Para garantizar la ubicación correcta del archivo, el proyecto puede mover el archivo original para que no esté en un subdirectorio o puede optar por no especificar la variable translations_en.path.

# Approach 1
translations_en.files = $$PWD/InfoPlist.strings
translations_en.path = en.lproj

# Approach 2
translations_de.files = $$PWD/de.lproj/InfoPlist.strings

QMAKE_BUNDLE_DATA += translations_en translations_de

Consulte QTBUG-98417 para obtener más detalles sobre cómo el sistema de compilación de Xcode cambió su comportamiento al agrupar archivos de traducción.

QMAKE_BUNDLE_EXTENSION

Nota: Esta variable solo se utiliza en macOS, iOS, tvOS y watchOS.

Especifica la extensión que se utilizará para los paquetes de bibliotecas. Esto permite crear frameworks con extensiones personalizadas en lugar de la extensión estándar del nombre del directorio .framework.

Por ejemplo, la siguiente definición dará como resultado un framework con la extensión .myframework:

QMAKE_BUNDLE_EXTENSION = .myframework

QMAKE_CC

Especifica el compilador C que se utilizará cuando se construyan proyectos que contengan código fuente C. Sólo es necesario especificar el nombre de archivo del ejecutable del compilador siempre que se encuentre en una ruta contenida en la variable PATH cuando se procese el Makefile.

QMAKE_CFLAGS

Especifica las banderas del compilador C para construir un proyecto. El valor de esta variable es manejado típicamente por qmake o qmake.conf y raramente necesita ser modificado. Las banderas específicas para los modos debug y release pueden ajustarse modificando las variables QMAKE_CFLAGS_DEBUG y QMAKE_CFLAGS_RELEASE, respectivamente.

QMAKE_CFLAGS_DEBUG

Especifica las banderas del compilador C para construcciones de depuración. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_CFLAGS_RELEASE

Especifica los indicadores del compilador de C para las compilaciones de lanzamiento. El valor de esta variable es manejado normalmente por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO

Especifica las banderas del compilador de C para compilaciones de lanzamiento donde force_debug_info se establece en CONFIG. El valor de esta variable es manejado típicamente por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_CFLAGS_SHLIB

Nota: Esta variable sólo se utiliza en plataformas Unix.

Especifica las banderas del compilador para crear una biblioteca compartida. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_CFLAGS_THREAD

Especifica los indicadores del compilador para crear una aplicación multihilo. El valor de esta variable es normalmente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_CFLAGS_WARN_OFF

Esta variable sólo se utiliza cuando la opción warn_off CONFIG está activada. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_CFLAGS_WARN_ON

Esta variable sólo se utiliza cuando está activada la opción warn_on CONFIG. El valor de esta variable es típicamente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_CLEAN

Especifica una lista de archivos generados (por moc y uic, por ejemplo) y archivos objeto a ser eliminados por make clean.

QMAKE_CXX

Especifica el compilador C++ que se utilizará cuando se construyan proyectos que contengan código fuente C++. Sólo es necesario especificar el nombre de archivo del ejecutable del compilador siempre que se encuentre en una ruta contenida en la variable PATH cuando se procesa el Makefile.

QMAKE_CXXFLAGS

Especifica las banderas del compilador C++ para construir un proyecto. El valor de esta variable es manejado típicamente por qmake o qmake.conf y raramente necesita ser modificado. Las banderas específicas para los modos debug y release pueden ajustarse modificando las variables QMAKE_CXXFLAGS_DEBUG y QMAKE_CXXFLAGS_RELEASE, respectivamente.

QMAKE_CXXFLAGS_DEBUG

Especifica las banderas del compilador C++ para las compilaciones de depuración. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_CXXFLAGS_RELEASE

Especifica los indicadores del compilador de C++ para las compilaciones de lanzamiento. El valor de esta variable es normalmente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_CXXFLAGS_RELEASE_CON_DEBUGINFO

Especifica las banderas del compilador de C++ para compilaciones de lanzamiento donde force_debug_info se establece en CONFIG. El valor de esta variable es típicamente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_CXXFLAGS_SHLIB

Especifica las banderas del compilador C++ para crear una biblioteca compartida. El valor de esta variable es manejado normalmente por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_CXXFLAGS_THREAD

Especifica los indicadores del compilador de C++ para crear una aplicación multihilo. El valor de esta variable es normalmente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_CXXFLAGS_WARN_OFF

Especifica las banderas del compilador C++ para suprimir las advertencias del compilador. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_CXXFLAGS_WARN_ON

Especifica los indicadores del compilador de C++ para generar advertencias del compilador. El valor de esta variable suele ser gestionado por qmake o qmake.conf y rara vez es necesario modificarlo.

QMAKE_EQUIPO_DESARROLLO

Nota: Esta variable sólo se utiliza en macOS, iOS, tvOS y watchOS.

El identificador de un equipo de desarrollo que se utilizará para firmar certificados y aprovisionar perfiles.

QMAKE_DISTCLEAN

Especifica una lista de archivos que se eliminarán mediante make distclean.

QMAKE_EXTENSION_SHLIB

Contiene la extensión de las bibliotecas compartidas. El valor de esta variable suele ser gestionado por qmake o qmake.conf y rara vez es necesario modificarlo.

Nota: Las variables específicas de la plataforma que cambian la extensión anulan el contenido de esta variable.

QMAKE_EXTENSION_STATICLIB

Contiene la extensión para bibliotecas estáticas compartidas. El valor de esta variable es manejado normalmente por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_EXT_MOC

Contiene la extensión utilizada en los archivos moc incluidos.

Ver tambien Extensiones de Archivos.

QMAKE_EXT_UI

Contiene la extensión usada en Qt Widgets Designer UI files.

Véase también Extensiones de archivo.

QMAKE_EXT_PRL

Contiene la extensión utilizada en los archivos PRL creados.

Véase también Extensiones de archivo, Dependencias de biblioteca.

QMAKE_EXT_LEX

Contiene la extensión utilizada en los archivos entregados a Lex.

Ver también Extensiones de archivo, LEXSOURCES.

QMAKE_EXT_YACC

Contiene la extensión usada en los archivos dados a Yacc.

Véase también Extensiones de archivo, YACCSOURCES.

QMAKE_EXT_OBJ

Contiene la extensión utilizada en los archivos de objetos generados.

Ver también Extensiones de archivo.

QMAKE_EXT_CPP

Contiene sufijos para archivos que deben ser interpretados como código fuente C++.

Véase también Extensiones de archivo.

QMAKE_EXT_H

Contiene sufijos para archivos que deben interpretarse como archivos de cabecera C.

Véase también Extensiones de archivo.

QMAKE_EXTRA_COMPILERS

Especifica una lista de compiladores o preprocesadores adicionales.

Véase también Añadir compiladores.

QMAKE_EXTRA_TARGETS

Especifica una lista de objetivos qmake adicionales.

Consulte también Adición de objetivos personalizados.

QMAKE_REQUISITOS_FALLIDOS

Contiene la lista de requisitos fallidos. El valor de esta variable es establecido por qmake y no puede ser modificado.

Ver también requires() y REQUIRES.

QMAKE_FRAMEWORK_BUNDLE_NAME

Nota: Esta variable sólo se utiliza en macOS, iOS, tvOS y watchOS.

En un proyecto de framework, esta variable contiene el nombre que se utilizará para el framework que se construya.

Por defecto, esta variable contiene el mismo valor que la variable TARGET.

Consulte Creación de frameworks para obtener más información sobre la creación de frameworks y paquetes de bibliotecas.

QMAKE_FRAMEWORK_VERSION

Nota: Esta variable solo se utiliza en macOS, iOS, tvOS y watchOS.

En los proyectos en los que el objetivo de compilación es un framework de macOS, iOS, tvOS o watchOS, esta variable se utiliza para especificar el número de versión que se aplicará al framework que se compila.

Por defecto, esta variable contiene el mismo valor que la variable VERSION.

Consulte Creación de frameworks para obtener más información sobre la creación de frameworks.

QMAKE_HOST

Proporciona información sobre la máquina host que ejecuta qmake. Por ejemplo, puede obtener la arquitectura de la máquina host en QMAKE_HOST.arch.

ClavesValores
.archArquitectura del host
.osSistema operativo del host
.cpu_countNúmero de cpus disponibles
.nameNombre del ordenador anfitrión
.versionNúmero de versión del SO del host
.cadena_versionCadena de la versión del SO del host
win32-g++:contains(QMAKE_HOST.arch, x86_64):{
    message("Host is 64bit")
    ...
}

QMAKE_INCDIR

Especifica la lista de rutas de cabecera del sistema que se añaden a INCLUDEPATH. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_INCDIR_EGL

Especifica la ubicación de los archivos de cabecera EGL que se añadirán a INCLUDEPATH al compilar un objetivo compatible con OpenGL/ES u OpenVG. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_INCDIR_OPENGL

Especifica la ubicación de los archivos de encabezado OpenGL que se agregarán a INCLUDEPATH al compilar un objetivo con soporte OpenGL. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

Si la implementación de OpenGL utiliza EGL (la mayoría de los sistemas OpenGL/ES), entonces QMAKE_INCDIR_EGL también puede ser necesario.

QMAKE_INCDIR_OPENGL_ES2

Esta variable especifica la ubicación de los archivos de cabecera OpenGL que se añadirán a INCLUDEPATH cuando se construya un objetivo con soporte OpenGL ES 2.

El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

Si la implementación de OpenGL utiliza EGL (la mayoría de los sistemas OpenGL/ES), entonces QMAKE_INCDIR_EGL también puede ser necesario.

QMAKE_INCDIR_OPENVG

Especifica la ubicación de los archivos de cabecera OpenVG que se añadirán a INCLUDEPATH cuando se construya un objetivo con soporte OpenVG. El valor de esta variable es normalmente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

Si la implementación de OpenVG utiliza EGL, entonces QMAKE_INCDIR_EGL también puede ser necesario.

QMAKE_INCDIR_X11

Nota: Esta variable sólo se utiliza en plataformas Unix.

Especifica la ubicación de las rutas de los archivos de cabecera X11 que se añadirán a INCLUDEPATH al compilar un destino X11. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_INFO_PLIST

Nota: Esta variable sólo se utiliza en las plataformas macOS, iOS, tvOS y watchOS.

Especifica el nombre del archivo de lista de propiedades, .plist, que desea incluir en el paquete de aplicaciones para macOS, iOS, tvOS y watchOS.

En el archivo .plist, puedes definir algunas variables que qmake sustituirá por los valores pertinentes:

Marcador(es) de posiciónEfecto
${PRODUCT_BUNDLE_IDENTIFIER}, @BUNDLEIDENTIFIER@Se expande a la cadena identificadora del paquete de destino, por ejemplo: com.example.myapp. Se determina concatenando los valores de QMAKE_TARGET_BUNDLE_PREFIX y QMAKE_BUNDLE, separados por un punto (.). El valor de QMAKE_BUNDLE se deriva de QMAKE_APPLICATION_BUNDLE_NAME, QMAKE_PLUGIN_BUNDLE_NAME, o QMAKE_FRAMEWORK_BUNDLE_NAME. No debe ser establecido directamente por el proyecto.
${EXECUTABLE_NAME} @EXECUTABLE@, @LIBRARY@Equivale al valor de QMAKE_APPLICATION_BUNDLE_NAME, QMAKE_PLUGIN_BUNDLE_NAME, o QMAKE_FRAMEWORK_BUNDLE_NAME (dependiendo del tipo de objetivo que se esté creando), o TARGET si no se establece ninguno de los valores anteriores.
${ASSETCATALOG_COMPILER_APPICON_NAME}, @ICON@Se expande al valor de ICON.
${QMAKE_PKGINFO_TYPEINFO}, @TYPEINFO@Se expande al valor de QMAKE_PKGINFO_TYPEINFO.
${QMAKE_FULL_VERSION}, @FULL_VERSION@Se expande al valor de VERSION expresado con tres componentes de versión.
${QMAKE_SHORT_VERSION}, @SHORT_VERSION@Se amplía al valor de VERSION expresado con dos componentes de versión.
${MACOSX_DEPLOYMENT_TARGET}Se incrementa hasta el valor de QMAKE_MACOSX_DEPLOYMENT_TARGET.
${IPHONEOS_DEPLOYMENT_TARGET}Se amplía al valor de QMAKE_IPHONEOS_DEPLOYMENT_TARGET.
${TVOS_DEPLOYMENT_TARGET}Cambia al valor de QMAKE_TVOS_DEPLOYMENT_TARGET.
${WATCHOS_DEPLOYMENT_TARGET}Cambia al valor de QMAKE_WATCHOS_DEPLOYMENT_TARGET.
${IOS_LAUNCH_SCREEN}Se amplía al valor de QMAKE_IOS_LAUNCH_SCREEN.

Nota: Cuando se utiliza el generador de Xcode, los marcadores de posición anteriores ${var}-estilo son reemplazados directamente por el sistema de construcción Xcode y no son manejados por qmake. Los marcadores de posición de estilo @var@ sólo funcionan con los generadores de Makefile de qmake y no con el generador de Xcode.

Si se construye para iOS, y el archivo .plist contiene la clave NSPhotoLibraryUsageDescription, qmake incluirá un plugin adicional a la construcción que añade soporte de acceso a fotos (a, por ejemplo, QFile/QFileDialog). Consulta la documentación Info.plist de Apple para obtener más información sobre esta clave.

Nota: La mayoría de las veces, el valor predeterminado Info.plist es suficiente.

QMAKE_IOS_OBJETIVO_DESPLIEGUE

Nota: esta variable sólo se utiliza en la plataforma iOS.

Especifica la versión mínima de iOS que admite la aplicación.

Para obtener más información, consulte Expresión de las versiones de iOS compatibles.

QMAKE_IOS_LAUNCH_SCREEN (PANTALLA DE INICIO)

Nota: esta variable sólo se utiliza en la plataforma iOS.

Especifica la pantalla de inicio que utiliza la aplicación. Si no se establece, se utilizará una pantalla de inicio predeterminada.

QMAKE_LFLAGS

Especifica un conjunto general de banderas que se pasan al enlazador. Si necesitas cambiar las banderas usadas para una plataforma o tipo de proyecto en particular, usa una de las variables especializadas para ese propósito en lugar de esta variable.

QMAKE_LFLAGS_CONSOLA

Nota: Esta variable sólo se utiliza en Windows.

Especifica las banderas del enlazador para construir programas de consola. El valor de esta variable es típicamente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_LFLAGS_DEBUG

Especifica los indicadores del enlazador para las compilaciones de depuración. El valor de esta variable es manejado normalmente por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_LFLAGS_PLUGIN

Especifica las banderas del enlazador para la construcción de plugins. El valor de esta variable es manejado típicamente por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_LFLAGS_RPATH

Nota: Esta variable sólo se utiliza en plataformas Unix.

Especifica las banderas del enlazador necesarias para utilizar los valores de QMAKE_RPATHDIR.

El valor de esta variable es manejado típicamente por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_LFLAGS_REL_RPATH

Especifica las banderas del enlazador necesarias para habilitar rutas relativas en QMAKE_RPATHDIR.

El valor de esta variable es típicamente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_REL_RPATH_BASE

Especifica la cadena que el enlazador dinámico entiende como la ubicación del ejecutable o biblioteca de referencia.

El valor de esta variable es manejado normalmente por qmake o qmake.conf y rara vez necesita ser modificado.

Especifica las banderas del enlazador necesarias para usar los valores de QMAKE_RPATHLINKDIR.

El valor de esta variable es típicamente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_LFLAGS_RELEASE

Especifica los indicadores del enlazador para las compilaciones de lanzamiento. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_LFLAGS_RELEASE_CON_DEBUGINFO

Especifica las banderas del enlazador para compilaciones de lanzamiento donde force_debug_info se establece en CONFIG. El valor de esta variable es típicamente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_LFLAGS_APP

Especifica las banderas del enlazador para construir aplicaciones. El valor de esta variable es manejado normalmente por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_LFLAGS_SHLIB

Especifica los indicadores del enlazador utilizados para compilar bibliotecas compartidas. El valor de esta variable es normalmente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_LFLAGS_SONAME

Especifica las banderas del enlazador para establecer el nombre de los objetos compartidos, como .so o .dll. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_LFLAGS_THREAD

Especifica las banderas del enlazador para construir proyectos multi-hilo. El valor de esta variable es típicamente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_LFLAGS_WINDOWS

Nota: Esta variable se utiliza sólo en Windows.

Especifica las banderas del enlazador para construir proyectos Windows GUI (es decir, aplicaciones que no son de consola). El valor de esta variable es normalmente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_LIBDIR

Especifica una lista de rutas de búsqueda de bibliotecas para todos los proyectos. El valor de esta variable es manejado normalmente por qmake o qmake.conf y rara vez necesita ser modificado.

Para especificar rutas de búsqueda adicionales en los archivos de proyecto, utilice LIBS así, en su lugar:

LIBS += -L/path/to/libraries

QMAKE_LIBDIR_POST

Especifica una lista de rutas de búsqueda de bibliotecas del sistema para todos los proyectos. El valor de esta variable suele ser gestionado por qmake o qmake.conf y rara vez es necesario modificarlo.

QMAKE_LIBDIR_FLAGS

Nota: Esta variable sólo se utiliza en plataformas Unix.

Especifica la ubicación de todos los directorios de biblioteca con el prefijo -L. El valor de esta variable es manejado típicamente por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_LIBDIR_EGL

Especifica la ubicación del directorio de la biblioteca EGL, cuando se utiliza EGL con OpenGL/ES u OpenVG. El valor de esta variable es manejado normalmente por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_LIBDIR_OPENGL

Especifica la ubicación del directorio de la biblioteca OpenGL. El valor de esta variable suele ser gestionado por qmake o qmake.conf y rara vez es necesario modificarlo.

Si la implementación de OpenGL utiliza EGL (la mayoría de los sistemas OpenGL/ES), puede que también sea necesario establecer QMAKE_LIBDIR_EGL.

QMAKE_LIBDIR_OPENVG

Especifica la ubicación del directorio de la biblioteca OpenVG. El valor de esta variable es normalmente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

Si la implementación de OpenVG utiliza EGL, puede que también sea necesario establecer QMAKE_LIBDIR_EGL.

QMAKE_LIBDIR_X11

Nota: Esta variable sólo se utiliza en plataformas Unix.

Especifica la ubicación del directorio de la biblioteca X11. El valor de esta variable suele ser gestionado por qmake o qmake.conf y rara vez es necesario modificarlo.

QMAKE_LIBS

Especifica las bibliotecas adicionales que cada proyecto necesita para enlazar. El valor de esta variable es normalmente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

Para especificar las bibliotecas en un archivo de proyecto, utilice LIBS en su lugar.

QMAKE_LIBS_PRIVATE

Especifica bibliotecas privadas adicionales con las que cada proyecto necesita enlazar. El valor de esta variable suele ser gestionado por qmake o qmake.conf y rara vez es necesario modificarlo.

Para especificar bibliotecas privadas en un archivo de proyecto de biblioteca, utilice LIBS_PRIVATE en su lugar.

QMAKE_LIBS_EGL

Especifica todas las librerías EGL cuando se construye Qt con OpenGL/ES u OpenVG. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado. El valor habitual es -lEGL.

QMAKE_LIBS_OPENGL

Especifica todas las bibliotecas OpenGL. El valor de esta variable suele ser gestionado por qmake o qmake.conf y rara vez es necesario modificarlo.

Si la implementación de OpenGL utiliza EGL (la mayoría de los sistemas OpenGL/ES), puede que también sea necesario definir QMAKE_LIBS_EGL.

QMAKE_LIBS_OPENGL_ES1, QMAKE_LIBS_OPENGL_ES2

Estas variables especifican todas las librerías OpenGL para OpenGL ES 1 y OpenGL ES 2.

El valor de estas variables suele ser gestionado por qmake o qmake.conf y rara vez es necesario modificarlo.

Si la implementación de OpenGL utiliza EGL (la mayoría de los sistemas OpenGL/ES), puede que también sea necesario definir QMAKE_LIBS_EGL.

QMAKE_LIBS_OPENVG

Especifica todas las bibliotecas OpenVG. El valor de esta variable suele ser gestionado por qmake o qmake.conf y rara vez es necesario modificarlo. El valor habitual es -lOpenVG.

Algunos motores OpenVG se implementan sobre OpenGL. Esto se detectará en el momento de la configuración y QMAKE_LIBS_OPENGL se añadirá implícitamente a QMAKE_LIBS_OPENVG siempre que se enlacen las bibliotecas OpenVG.

Si la implementación de OpenVG utiliza EGL, entonces QMAKE_LIBS_EGL también puede necesitar ser configurado.

QMAKE_LIBS_HILO

Nota: Esta variable sólo se utiliza en plataformas Unix.

Especifica todas las librerías que necesitan ser enlazadas cuando se construye un objetivo multi-hilo. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_LIBS_X11

Nota: Esta variable sólo se utiliza en plataformas Unix.

Especifica todas las bibliotecas X11. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_LIB_FLAG

Esta variable no está vacía si se especifica la plantilla lib. El valor de esta variable es típicamente manejado por qmake o qmake.conf y raramente necesita ser modificado.

Especifica el enlazador que se utilizará al construir proyectos basados en aplicaciones. Sólo es necesario especificar el nombre de archivo del ejecutable del enlazador siempre que se encuentre en una ruta contenida en la variable PATH cuando se procesa el Makefile. El valor de esta variable es típicamente manejado por qmake o qmake.conf y raramente necesita ser modificado.

Especifica el comando a ejecutar cuando se crea una biblioteca compartida. El valor de esta variable es normalmente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_LN_SHLIB

Especifica el comando a ejecutar cuando se crea un enlace a una biblioteca compartida. El valor de esta variable es típicamente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_LRELEASE_FLAGS

Lista de opciones adicionales pasadas a lrelease cuando se activa a través de CONFIG += lrelease.

QMAKE_OBJECTIVE_CFLAGS

Especifica las banderas del compilador Objective C/C++ para construir un proyecto. Estos indicadores se utilizan además de QMAKE_CFLAGS y QMAKE_CXXFLAGS.

QMAKE_POST_LINK

Especifica el comando a ejecutar después de enlazar el TARGET. Esta variable normalmente está vacía y por lo tanto no se ejecuta nada.

Nota: Esta variable no tiene efecto en los proyectos Xcode.

Especifica el comando a ejecutar antes de enlazar el TARGET. Esta variable suele estar vacía y, por tanto, no se ejecuta nada.

Advertencia: Esta variable no es compatible cuando se utiliza el generador de Xcode y el nuevo sistema de compilación de Xcode.

QMAKE_NOMBRE_PROYECTO

Nota: Esta variable sólo se utiliza para archivos de proyecto de Visual Studio.

Determina el nombre del proyecto cuando se generan archivos de proyecto para IDEs. El valor predeterminado es el nombre de destino. El valor de esta variable es normalmente manejado por qmake y rara vez necesita ser modificado.

QMAKE_PROVISIONING_PROFILE

Nota: Esta variable sólo se utiliza en macOS, iOS, tvOS y watchOS.

UUID de un perfil de aprovisionamiento válido. Se utiliza junto con QMAKE_DEVELOPMENT_TEAM para especificar el perfil de aprovisionamiento.

Nota: Al especificar el perfil de aprovisionamiento se desactiva la firma gestionada automáticamente.

QMAKE_MAC_SDK

Esta variable se utiliza en macOS al compilar binarios universales.

QMAKE_MACOSX_DEPLOYMENT_TARGET (OBJETIVO DE DESPLIEGUE DE QMAKE_MACOSX)

Nota: Esta variable sólo se utiliza en la plataforma macOS.

Especifica la versión mínima de macOS que admite la aplicación.

Para obtener más información, consulte Configuraciones compatibles con macOS.

QMAKE_MAKEFILE

Especifica el nombre del Makefile a crear. El valor de esta variable es normalmente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_QMAKE

Contiene la ruta absoluta del ejecutable qmake.

Nota: No intente sobrescribir el valor de esta variable.

QMAKE_RESOURCE_FLAGS

Esta variable se utiliza para personalizar la lista de opciones que se pasan a qmake Resource Compiler en cada una de las reglas de compilación en las que se utiliza. Por ejemplo, la siguiente línea asegura que las opciones -threshold y -compress sean usadas con valores particulares cada vez que rcc es invocado:

QMAKE_RESOURCE_FLAGS += -threshold 0 -compress 9

QMAKE_RPATHDIR

Nota: Esta variable sólo se utiliza en plataformas Unix.

Especifica una lista de rutas de biblioteca que se añaden al ejecutable en tiempo de enlace para que las rutas se busquen preferentemente en tiempo de ejecución.

Cuando se especifican rutas relativas, qmake las convertirá a un formato que el enlazador dinámico entienda como relativo a la ubicación del ejecutable o biblioteca de referencia. Esto es soportado sólo por algunas plataformas (actualmente Linux y las basadas en Darwin) y es detectable comprobando si QMAKE_REL_RPATH_BASE está establecido.

QMAKE_RPATHLINKDIR

Especifica una lista de rutas de bibliotecas para que el enlazador estático busque dependencias implícitas de bibliotecas compartidas. Para obtener más información, consulte la página de manual de ld(1).

QMAKE_RUN_CC

Especifica la regla individual necesaria para construir un objeto. El valor de esta variable es típicamente manejado por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_RUN_CC_IMP

Especifica la regla individual necesaria para construir un objeto. El valor de esta variable es normalmente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_RUN_CXX

Especifica la regla individual necesaria para construir un objeto. El valor de esta variable es típicamente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_RUN_CXX_IMP

Especifica la regla individual necesaria para construir un objeto. El valor de esta variable es manejado típicamente por qmake o qmake.conf y raramente necesita ser modificado.

QMAKE_SONAME_PREFIX

Si se define, el valor de esta variable se utiliza como una ruta que se añade al identificador SONAME de la biblioteca compartida creada. SONAME es el identificador que el enlazador dinámico utilizará posteriormente para hacer referencia a la biblioteca. En general, esta referencia puede ser un nombre de biblioteca o una ruta de biblioteca completa. En macOS, iOS, tvOS y watchOS, la ruta puede especificarse relativamente utilizando los siguientes marcadores de posición:

Marcador de posiciónEfecto
@rpathSe expande a las rutas definidas por los comandos mach-o LC_RPATH en el ejecutable del proceso actual o en las bibliotecas de referencia.
@ruta_ejecutableSe expande a la ubicación del ejecutable del proceso actual.
@ruta_cargadorSe expande a la ubicación del ejecutable o biblioteca de referencia.

En la mayoría de los casos, el uso de @rpath es suficiente y recomendable:

# <project root>/project.pro
QMAKE_SONAME_PREFIX = @rpath

Sin embargo, el prefijo también puede especificarse utilizando diferentes marcadores de posición, o una ruta absoluta, como una de las siguientes:

# <project root>/project.pro
QMAKE_SONAME_PREFIX = @executable_path/../Frameworks
QMAKE_SONAME_PREFIX = @loader_path/Frameworks
QMAKE_SONAME_PREFIX = /Library/Frameworks

Para más información, consulte la documentación de dyld sobre nombres de instalación de bibliotecas dinámicas.

QMAKE_TARGET

Especifica el nombre del objetivo del proyecto. El valor de esta variable es normalmente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

QMAKE_TARGET_EMPRESA

Sólo para Windows. Especifica la empresa para el objetivo del proyecto; esto se utiliza en su caso para poner el nombre de la empresa en las propiedades de la aplicación. Sólo se utiliza si está definida la variable VERSION o RC_ICONS y no están definidas las variables RC_FILE y RES_FILE.

QMAKE_TARGET_DESCRIPTION

Sólo para Windows. Especifica la descripción del objetivo del proyecto; se utiliza cuando procede para poner la descripción en las propiedades de la aplicación. Sólo se utiliza si las variables VERSION o RC_ICONS están definidas y las variables RC_FILE y RES_FILE no lo están.

Sólo para Windows. Especifica la información de copyright para el objetivo del proyecto; esto se utiliza cuando es aplicable para poner la información de copyright en las propiedades de la aplicación. Sólo se utiliza si la variable VERSION o RC_ICONS está definida y las variables RC_FILE y RES_FILE no están definidas.

QMAKE_TARGET_PRODUCTO

Sólo para Windows. Especifica el producto para el objetivo del proyecto; se utiliza cuando procede para poner el producto en las propiedades de la aplicación. Sólo se utiliza si la variable VERSION o RC_ICONS está definida y las variables RC_FILE y RES_FILE no están definidas.

QMAKE_TARGET_ORIGINAL_FILENAME

Sólo para Windows. Especifica el nombre de archivo original para el objetivo del proyecto; se utiliza cuando procede para poner el nombre de archivo original en las propiedades de la aplicación. Sólo se utiliza si la variable VERSION o RC_ICONS está establecida y las variables RC_FILE y RES_FILE no están establecidas.

QMAKE_TARGET_NOMBRE_INTERNO

Sólo para Windows. Especifica el nombre interno para el objetivo del proyecto; se utiliza cuando procede para poner el nombre interno en las propiedades de la aplicación. Sólo se utiliza si la variable VERSION o RC_ICONS está establecida y las variables RC_FILE y RES_FILE no están establecidas.

QMAKE_TARGET_COMMENTS

Sólo para Windows. Especifica los comentarios para el objetivo del proyecto; esto se utiliza en su caso para poner los comentarios en las propiedades de la aplicación. Sólo se utiliza si la variable VERSION o RC_ICONS está definida y las variables RC_FILE y RES_FILE no están definidas.

QMAKE_TARGET_TRADEMARKS

Sólo para Windows. Especifica la información de marca comercial para el objetivo del proyecto; se utiliza cuando procede para poner la información de marca comercial en las propiedades de la aplicación. Esto sólo se utiliza si la variable VERSION o RC_ICONS está establecida y las variables RC_FILE y RES_FILE no están establecidas.

QMAKE_MANIFEST

Sólo para Windows. Especifica el archivo de manifiesto para el objetivo del proyecto. Sólo se utiliza si las variables RC_FILE y RES_FILE no están establecidas. No olvides eliminar embed_manifest_exe y embed_manifest_dll de la variable CONFIG, de lo contrario entrará en conflicto con el generado por el compilador.

QMAKE_TVOS_OBJETIVO_DESPLIEGUE

Nota: Esta variable sólo se utiliza en la plataforma tvOS.

Especifica la versión mínima de tvOS que admite la aplicación.

Para obtener más información, consulta Expresión de las versiones de iOS compatibles.

QMAKE_UIC_FLAGS

Esta variable se utiliza para personalizar la lista de opciones que se pasan al comando User Interface Compiler en cada una de las reglas de compilación en las que se utiliza.

QMAKE_WATCHOS_DEPLOYMENT_TARGET

Nota: Esta variable sólo se utiliza en la plataforma watchOS.

Especifica la versión mínima de watchOS que soporta la aplicación.

Para obtener más información, consulta Expresión de las versiones de iOS compatibles.

QML_IMPORT_MAJOR_VERSION

Especifica la versión principal que se utilizará para los registros de tipos QML generados automáticamente. Para obtener más información, consulte Definición de tipos QML desde C++.

QML_IMPORT_MINOR_VERSION

Al registrar automáticamente tipos QML definidos en C++, registra una versión adicional del módulo utilizando esta versión menor. Generalmente, las versiones menores a registrar se deducen de los metaobjetos.

Puede utilizar esta variable si los metaobjetos no han cambiado y aún desea importar un módulo QML con un número de versión menor más reciente. Por ejemplo, los metaobjetos MyModule están en el nivel 1.1, pero se desea importar el módulo como 1.3.

QML_IMPORT_VERSION

Especifica QML_IMPORT_MAJOR_VERSION y QML_IMPORT_MINOR_VERSION como cadena de versión <major>.<minor>.

QML_IMPORT_NAME

Especifica el nombre del módulo que se utilizará para los registros de tipos QML generados automáticamente. Para obtener más información, consulte Definición de tipos QML desde C++.

QML_FOREIGN_METATYPES

Especifica otros archivos JSON con metatipos que deben tenerse en cuenta al generar archivos qmltypes. Utilícelo cuando bibliotecas externas proporcionen tipos que estén expuestos a QML, ya sea directamente o como tipos base o propiedades de otros tipos. Los tipos Qt se considerarán automáticamente y no es necesario añadirlos aquí.

QT

Especifica los módulos Qt que utiliza el proyecto. Para conocer el valor a añadir para cada módulo, consulte la documentación del módulo.

A nivel de implementación de C++, el uso de un módulo Qt hace que sus cabeceras estén disponibles para su inclusión y hace que se vincule al binario.

Por defecto, QT contiene core y gui, asegurando que las aplicaciones GUI estándar puedan ser construidas sin más configuración.

Si desea compilar un proyecto sin el módulo Qt GUI es necesario excluir el valor gui con el operador "-=". La siguiente línea resultará en la construcción de un proyecto Qt mínimo:

QT -= gui # Only the core module is used.

Si su proyecto es un plugin de Qt Widgets Designer, utilice el valor uiplugin para especificar que el proyecto debe construirse como una biblioteca, pero con soporte específico de plugin para Qt Widgets Designer. Para más información, vea Construir e Instalar el Plugin.

QTPLUGIN

Especifica una lista de nombres de plugins estáticos de Qt que deben vincularse con una aplicación para que estén disponibles como recursos integrados.

qmake añade automáticamente los plugins que suelen necesitar los módulos Qt utilizados (véase QT). Los valores predeterminados se ajustan hacia una experiencia óptima out-of-the-box. Ver Plugins estáticos para una lista de plugins disponibles, y formas de anular la vinculación automática.

Esta variable actualmente no tiene efecto cuando se enlaza contra una compilación compartida/dinámica de Qt, o cuando se enlazan librerías. Puede usarse para el despliegue de plugins dinámicos más adelante.

QT_VERSION

Contiene la versión actual de Qt.

QT_VERSION_MAYOR

Contiene la versión principal actual de Qt.

QT_MINOR_VERSION

Contiene la versión menor actual de Qt.

QT_PATCH_VERSION

Contiene la versión actual del parche de Qt.

ARCHIVO_CR

Sólo para Windows. Especifica el nombre del archivo de recursos de Windows (.rc) para el objetivo. Consulte Adición de archivos de recursos de Windows.

RC_CODEPAGE

Sólo para Windows. Especifica la página de código que debe especificarse en un archivo .rc generado. Sólo se utiliza si las variables VERSION o RC_ICONS están definidas y las variables RC_FILE y RES_FILE no lo están.

RC_DEFINES

Sólo para Windows. qmake agrega los valores de esta variable como macros del preprocesador RC (opción /d). Si no se establece esta variable, se utiliza la variable DEFINES en su lugar.

RC_DEFINES += USE_MY_STUFF

RC_ICONS

Sólo para Windows. Especifica los iconos que deben incluirse en un archivo .rc generado. Sólo se utiliza si las variables RC_FILE y RES_FILE no están definidas. Puede encontrar más detalles sobre la generación de archivos .rc en las Platform Notes.

RC_LANG

Sólo para Windows. Especifica el idioma que debe especificarse en un archivo .rc generado. Sólo se utiliza si la variable VERSION o RC_ICONS está definida y las variables RC_FILE y RES_FILE no están definidas.

RC_INCLUDEPATH

Especifica las rutas de inclusión que se pasan a Windows Resource Compiler.

RCC_DIR

Especifica el directorio para los archivos de salida de Qt Resource Compiler.

Por ejemplo:

unix:RCC_DIR = ../myproject/resources
win32:RCC_DIR = c:/myproject/resources

REQUIERE

Especifica una lista de valores que se evalúan como condiciones. Si alguna de las condiciones es falsa, qmake omite este proyecto (y sus SUBDIRS) al construir.

Nota: Recomendamos utilizar la función requires() si desea omitir proyectos o subproyectos durante la compilación.

RECURSOS

Especifica el nombre de los archivos de colección de recursos (qrc) para el objetivo. Para más información sobre el archivo de colección de recursos, ver El Sistema de Recursos Qt.

ARCHIVO_RES

Sólo para Windows. Especifica el nombre del archivo de salida del Resource Compiler de Windows para este objetivo. Ver RC_FILE y Añadir archivos de recursos Windows.

El valor de esta variable es típicamente manejado por qmake o qmake.conf y raramente necesita ser modificado.

FUENTES

Especifica los nombres de todos los archivos fuente del proyecto.

Nota sobre los archivos fuente incluidos

Por defecto, QMake escanea los archivos fuente en busca de dependencias y excluye automáticamente los archivos .cpp que están incluidos en otros archivos .cpp para evitar la duplicación de la compilación y los errores del enlazador. Esta exclusión automática tiene importantes limitaciones:

  • La exclusión se produce independientemente de las condicionales del preprocesador (#ifdef, #ifndef, etc.).
  • Un archivo .cpp #included en cualquier parte del proyecto será excluido de SOURCES, incluso si el include es condicional.

Para forzar la compilación de los archivos excluidos, añada CONFIG += compile_included_sources a su archivo .pro. Alternativamente, elimine los archivos incluidos de SOURCES y asegúrese de que sólo se compilan a través de su archivo de inclusión. Esto se aplica a todos los archivos con extensiones en QMAKE_EXT_CPP.

Por ejemplo:

SOURCES = myclass.cpp \
      login.cpp \
      mainwindow.cpp

Ver también HEADERS.

SUBDIRS

Esta variable, cuando se utiliza con la plantilla subdirs especifica los nombres de todos los subdirectorios o archivos de proyecto que contienen partes del proyecto que necesitan ser construidas. Cada subdirectorio especificado mediante esta variable debe contener su propio archivo de proyecto.

Se recomienda que el archivo de proyecto de cada subdirectorio tenga el mismo nombre base que el propio subdirectorio, porque así es posible omitir el nombre del archivo. Por ejemplo, si el subdirectorio se llama myapp, el archivo de proyecto en ese directorio debe llamarse myapp.pro.

Alternativamente, puede especificar una ruta relativa a un archivo .pro en cualquier directorio. Se recomienda encarecidamente que sólo especifique rutas en el directorio principal del proyecto actual o en sus subdirectorios.

Por ejemplo:

SUBDIRS = kernel \
          tools \
          myapp

Si necesita asegurarse de que los subdirectorios se construyen en un orden determinado, utilice el modificador .depends en los elementos SUBDIRS pertinentes.

Por ejemplo:

SUBDIRS += my_executable my_library tests doc
my_executable.depends = my_library
tests.depends = my_executable

La configuración anterior garantiza que my_library se construya antes que my_executable y que my_executable se construya antes que tests. Sin embargo, doc puede construirse en paralelo con los otros subdirectorios, acelerando así el proceso de construcción.

Nota: Se pueden listar múltiples dependencias y todas se construirán antes que el objetivo que dependa de ellas.

Nota: Se desaconseja utilizar CONFIG += ordered, ya que puede ralentizar las compilaciones multinúcleo. A diferencia del ejemplo anterior, todas las construcciones se realizarán secuencialmente incluso si no tienen dependencias.

Además de definir el orden de compilación, es posible modificar el comportamiento por defecto de SUBDIRS dando modificadores adicionales a los elementos de SUBDIRS. Los modificadores soportados son:

ModificadorEfecto
.subdirUtiliza el subdirectorio especificado en lugar del valor de SUBDIRS.
.fileEspecifica explícitamente el archivo del subproyecto pro. No puede utilizarse junto con el modificador .subdir.
.dependsEste subproyecto depende del subproyecto o subproyectos especificados.
.makefileEl makefile del subproyecto. Sólo disponible en plataformas que utilicen makefiles.
.targetCadena base usada para los objetivos makefile relacionados con este subproyecto. Disponible sólo en plataformas que utilizan makefiles.

Por ejemplo, definir dos subdirectorios, ambos de los cuales residen en un directorio diferente al valor SUBDIRS, y uno de los subdirectorios debe ser construido antes que el otro:

SUBDIRS += my_executable my_library
my_executable.subdir = app
my_executable.depends = my_library
my_library.subdir = lib

TARGET

Especifica el nombre del archivo de destino. Contiene por defecto el nombre base del fichero de proyecto.

Por ejemplo:

TEMPLATE = app
TARGET = myapp
SOURCES = main.cpp

El archivo de proyecto anterior produciría un ejecutable llamado myapp en unix y myapp.exe en Windows.

TARGET_EXT

Especifica la extensión de TARGET. El valor de esta variable es normalmente manejado por qmake o qmake.conf y rara vez necesita ser modificado.

TARGET_x

Especifica la extensión de TARGET con un número de versión principal. El valor de esta variable suele ser gestionado por qmake o qmake.conf y rara vez es necesario modificarlo.

TARGET_x.y.z

Especifica la extensión de TARGET con un número de versión. El valor de esta variable es manejado típicamente por qmake o qmake.conf y raramente necesita ser modificado.

PLANTILLA

Especifica el nombre de la plantilla a utilizar al generar el proyecto. Los valores permitidos son:

OpciónDescripción
appCrea un Makefile para construir aplicaciones (por defecto). Consulte Creación de una aplicación para obtener más información.
libCrea un Makefile para construir bibliotecas. Vea Construir una biblioteca para más información.
subdirectoriosCrea un Makefile para construir objetivos en subdirectorios. Los subdirectorios se especifican utilizando la variable SUBDIRS.
auxCrea un Makefile para no construir nada. Utilícelo si no necesita invocar ningún compilador para crear el objetivo; por ejemplo, porque su proyecto está escrito en un lenguaje interpretado.

Nota: Este tipo de plantilla sólo está disponible para generadores basados en Makefile. En particular, no funcionará con los generadores vcxproj y Xcode.

vcappSólo para Windows. Crea un proyecto de aplicación para Visual Studio. Consulte Creación de archivos de proyecto de Visual Studio para obtener más información.
vclibSólo para Windows. Crea un proyecto de biblioteca para Visual Studio.

Por ejemplo:

TEMPLATE = lib
SOURCES = main.cpp
TARGET = mylib

La plantilla puede anularse especificando un nuevo tipo de plantilla con la opción de línea de comandos -t. Esto anula el tipo de plantilla una vez procesado el archivo .pro. Con los archivos .pro que utilizan el tipo de plantilla para determinar cómo se construye el proyecto, es necesario declarar TEMPLATE en la línea de comandos en lugar de utilizar la opción -t.

TRADUCCIONES

Especifica una lista de archivos de traducción (.ts) que contienen traducciones del texto de la interfaz de usuario a idiomas no nativos.

Los archivos de traducción de TRANSLATIONS serán procesados por las herramientas lrelease y Using lupdate. Utilice EXTRA_TRANSLATIONS si desea que sólo lrelease procese un archivo.

Puede utilizar CONFIG += lrelease para compilar automáticamente los archivos durante la compilación, y CONFIG += lrelease embed_translations para que estén disponibles en el sistema de recursos Qt.

Ver el ManualQt Linguist para más información sobre internacionalización (i18n) y localización (l10n) con Qt.

TR_EXCLUDE

Especifica una lista de rutas (archivos fuente, subdirectorios y rutas de inclusión de C++) que deben ser excluidas del manejo en lupdate. Las rutas pueden contener comodines. Las rutas relativas se consideran relativas a _PRO_FILE_PWD_.

Por ejemplo, para excluir archivos fuente:

SOURCES += main.cpp \
    excluded.cpp \
    3rdparty/sqlite3.h \
    3rdparty/sqlite3.c
TR_EXCLUDE += excluded.cpp 3rdparty/*

Para excluir subdirectorios de un proyecto SUBDIRS:

SUBDIRS += \
    libs \
    apps \
    tests
TR_EXCLUDE += tests

Para acelerar el analizador C++ de lupdate, excluya las rutas de inclusión:

linux {
    TR_EXCLUDE += /usr/include/boost/*
}

UI_DIR

Especifica el directorio donde deben colocarse todos los archivos intermedios de uic.

Por ejemplo

unix:UI_DIR = ../myproject/ui
win32:UI_DIR = c:/myproject/ui

VERSION

Especifica el número de versión de la aplicación si se especifica la plantilla app o el número de versión de la biblioteca si se especifica la plantilla lib.

En Windows, activa la generación automática de un archivo .rc si no se establecen las variables RC_FILE y RES_FILE. El archivo .rc generado tendrá las entradas FILEVERSION y PRODUCTVERSION rellenadas con major, minor, nivel de parche y número de compilación. Cada número debe estar en el rango de 0 a 65535. Encontrará más detalles sobre la generación de archivos .rc en las Platform Notes.

Por ejemplo

win32:VERSION = 1.2.3.4 # major.minor.patch.build
else:VERSION = 1.2.3    # major.minor.patch

VERSION_PE_HEADER

Sólo para Windows. Especifica el número de versión, que el enlazador de Windows pone en la cabecera del archivo .exe o .dll a través de la opción /VERSION. Sólo se puede especificar una versión mayor y menor. Si no se define VERSION_PE_HEADER, se vuelve a la versión mayor y menor de VERSION (si se define).

VERSION_PE_HEADER = 1.2

VER_MAJ

Especifica el número de versión mayor de la biblioteca si se especifica la plantilla lib.

VER_MIN

Indica el número de versión menor de la biblioteca si se especifica la plantilla lib.

VER_PAT

Indica el número de versión del parche de la biblioteca si se especifica la plantilla lib.

VPATH

Indica a qmake dónde buscar los archivos que no puede abrir. Por ejemplo, si qmake busca SOURCES y encuentra una entrada que no puede abrir, busca en toda la lista VPATH para ver si puede encontrar el archivo por su cuenta.

Ver también DEPENDPATH.

WINDOWS_TARGET_PLATFORM_VERSION

Especifica la versión de Windows de destino; corresponde a la etiqueta WindowsTargetPlatformVersion en los archivos vcxproj.

En Windows de escritorio, el valor predeterminado es el valor de la variable de entorno WindowsSDKVersion.

WINDOWS_TARGET_PLATFORM_MIN_VERSION

Especifica la versión mínima de la plataforma de destino de Windows; corresponde a la etiqueta WindowsTargetPlatformMinVersion en los archivos vcxproj.

Por defecto es WINDOWS_TARGET_PLATFORM_VERSION.

YACCSOURCES

Especifica una lista de archivos fuente Yacc que se incluirán en el proyecto. Todas las dependencias, cabeceras y archivos fuente se incluirán automáticamente en el proyecto.

Por ejemplo

YACCSOURCES = moc.y

_PRO_FICHERO_

Contiene la ruta al archivo del proyecto en uso.

Por ejemplo, la siguiente línea hace que la ubicación del archivo de proyecto se escriba en la consola:

message($$_PRO_FILE_)

Nota: No intente sobrescribir el valor de esta variable.

_PRO_FICHERO_PWD_

Contiene la ruta al directorio que contiene el archivo de proyecto en uso.

Por ejemplo, la siguiente línea hace que se escriba en la consola la ubicación del directorio que contiene el fichero de proyecto:

message($$_PRO_FILE_PWD_)

Nota: No intente sobrescribir el valor de esta variable.

Véase también QQmlEngine::addImportPath().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.