Ejecutar qmake
El comportamiento de qmake se puede personalizar cuando se ejecuta especificando varias opciones en la línea de comandos. Estas opciones permiten ajustar el proceso de compilación, proporcionan información de diagnóstico útil y pueden utilizarse para especificar la plataforma de destino del proyecto.
Sintaxis del comando
La sintaxis utilizada para ejecutar qmake tiene la siguiente forma simple:
qmake [mode] [options] files
Nota: Si ha instalado Qt a través de un gestor de paquetes, el binario puede ser qmake6.
Modos de funcionamiento
qmake soporta dos modos diferentes de operación. En el modo predeterminado, qmake utiliza la información de un archivo de proyecto para generar un Makefile, pero también es posible utilizar qmake para generar archivos de proyecto. Si desea establecer explícitamente el modo, debe especificarlo antes de todas las demás opciones. El mode puede ser cualquiera de los dos valores siguientes:
-makefile
La salida de qmake será un Makefile.-project
qmake salida será un archivo de proyecto.Nota: Es probable que el archivo creado necesite ser editado. Por ejemplo, añadiendo la variable
QTpara adaptarla a los módulos necesarios para el proyecto.
Puede utilizar options para especificar tanto ajustes generales como específicos del modo. Las opciones que sólo se aplican al modo Makefile se describen en la sección Opciones del modo Makefile, mientras que las opciones que influyen en la creación de archivos de proyecto se describen en la sección Opciones del modo Proyecto.
Ficheros
El argumento files representa una lista de uno o más archivos de proyecto, separados por espacios.
Opciones generales
Se puede especificar una amplia gama de opciones en la línea de comandos de qmake para personalizar el proceso de compilación y anular la configuración predeterminada de la plataforma. Las siguientes opciones básicas proporcionan ayuda sobre el uso de qmake, especifican dónde qmake escribe el archivo de salida y controlan el nivel de información de depuración que se escribirá en la consola:
-help
qmake repasará estas características y brindará ayuda útil.-o file
La salida de qmake se dirigirá afile. Si no se especifica esta opción, qmake intentará utilizar un nombre de archivo adecuado para su salida, dependiendo del modo en que se esté ejecutando.
Si se especifica '-', la salida se dirige a stdout.-d
qmake mostrará información de depuración. Añadir-dmás de una vez aumenta la verbosidad.
La plantilla utilizada para el proyecto se especifica normalmente por la variable TEMPLATE en el archivo de proyecto. Puede anular o modificar esto mediante el uso de las siguientes opciones:
-t tmpl
qmake anulará cualquier variableTEMPLATEestablecida contmpl, pero sólo después de que el archivo .pro haya sido procesado.-tp prefix
qmake añadiráprefixa la variableTEMPLATE.
El nivel de información de advertencia puede ser ajustado para ayudarle a encontrar problemas en su archivo de proyecto:
-Wall
qmake informará de todas las advertencias conocidas.-Wnone
qmake no generará ninguna información de advertencia.-Wparser
qmake sólo generará advertencias del analizador. Esto le alertará de errores comunes y problemas potenciales en el análisis sintáctico de los archivos del proyecto.-Wlogic
qmake advertirá de errores comunes y problemas potenciales en su archivo de proyecto. Por ejemplo, qmake informará de múltiples apariciones de archivos en las listas y los archivos que faltan.
Opciones del modo Makefile
qmake -makefile [options] files
En el modo Makefile, qmake generará un Makefile que se utiliza para construir el proyecto. Además, las siguientes opciones se pueden utilizar en este modo para influir en la forma en que se genera el archivo de proyecto:
-after
qmake procesará las asignaciones dadas en la línea de comandos después de los archivos especificados.-nocache
qmake ignorará el archivo.qmake.cache.-nodepend
qmake no generará ninguna información de dependencia.-cache file
qmake utilizaráfilecomo archivo caché, ignorando cualquier otro archivo .qmake.cache encontrado.-spec spec
qmake utilizaráspeccomo ruta de acceso a la información de plataforma y compilador, e ignorará el valor de QMAKESPEC.
También puede pasar asignaciones qmake en la línea de comandos. Se procesan antes que todos los archivos especificados. Por ejemplo, el siguiente comando genera un Makefile a partir de test.pro:
qmake -makefile -o Makefile "CONFIG+=test" test.pro
Sin embargo, algunas de las opciones especificadas pueden omitirse ya que son valores por defecto:
qmake "CONFIG+=test" test.pro
Si está seguro de que desea que sus variables se procesen después de los archivos especificados, entonces puede pasar la opción -after. Cuando se especifica esto, todas las asignaciones en la línea de comandos después de la opción -after se pospondrán hasta después de que los archivos especificados sean analizados.
Opciones del modo proyecto
qmake -project [options] files
En modo proyecto, qmake generará un archivo de proyecto. Además, puede proporcionar las siguientes opciones en este modo:
-r
qmake buscará en los directorios suministrados recursivamente.-nopwd
qmake no buscará código fuente en el directorio de trabajo actual. Sólo utilizará elfilesespecificado.
En este modo, el argumento files puede ser una lista de archivos o directorios. Si se especifica un directorio, se incluirá en la variable DEPENDPATH, y el código relevante de allí se incluirá en el archivo de proyecto generado. Si se indica un archivo, se añadirá a la variable correcta, dependiendo de su extensión. Por ejemplo, los archivos UI se añaden a FORMS, y los archivos C++ se añaden a SOURCES.
También puede pasar asignaciones en la línea de comandos en este modo. Al hacerlo, estas asignaciones se colocarán en último lugar en el archivo de proyecto generado.
© 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.