Plataforma Notas
Muchos proyectos multiplataforma pueden ser manejados por las características básicas de configuración de qmake. Sin embargo, en algunas plataformas, a veces es útil, o incluso necesario, aprovechar las características específicas de la plataforma. qmake conoce muchas de estas características, a las que se puede acceder a través de variables específicas que sólo tienen efecto en las plataformas en las que son relevantes.
macOS, iOS, tvOS y watchOS
Las características específicas de estas plataformas incluyen soporte para crear binarios universales, frameworks y bundles.
Paquetes fuente y binarios
La versión de qmake suministrada en los paquetes fuente está configurada de forma ligeramente diferente a la suministrada en los paquetes binarios, ya que utiliza una especificación de características diferente. Mientras que el paquete fuente suele utilizar la especificación macx-g++, el paquete binario suele estar configurado para utilizar la especificación macx-xcode.
Los usuarios de cada paquete pueden anular esta configuración invocando qmake con la opción -spec (para más información, consulte Ejecutar qmake ). Por ejemplo, para utilizar qmake desde un paquete binario para crear un Makefile en un directorio de proyecto, invoque el siguiente comando:
qmake -spec macx-g++
Uso de Frameworks
qmake es capaz de generar automáticamente reglas de compilación para enlazar con frameworks en el directorio estándar de frameworks en macOS, ubicado en /Library/Frameworks/.
Los directorios que no sean el directorio marco estándar deben ser especificados al sistema de construcción, y esto se logra mediante la adición de opciones de enlace a la variable LIBS, como se muestra en el siguiente ejemplo:
LIBS += -F/path/to/framework/directory/
El propio framework se enlaza añadiendo las opciones de -framework y el nombre del framework a la variable LIBS:
LIBS += -framework TheFramework
Creación de Frameworks
Cualquier proyecto de biblioteca puede configurarse para que el archivo de biblioteca resultante se coloque en un framework, listo para su despliegue. Para ello, configure el proyecto para que utilice la plantillalib y añada la opción lib_bundle a la variable CONFIG:
TEMPLATE = lib CONFIG += lib_bundle
Los datos asociados a la librería se especifican utilizando la variable QMAKE_BUNDLE_DATA. Esta variable contiene los elementos que se instalarán con un paquete de bibliotecas, y se utiliza a menudo para especificar una colección de archivos de cabecera, como en el siguiente ejemplo:
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 variable FRAMEWORK_HEADERS se utiliza para especificar las cabeceras requeridas por un determinado framework. Añadiéndola a la variable QMAKE_BUNDLE_DATA se asegura de que la información sobre estas cabeceras se añade a la colección de recursos que se instalarán con el paquete de bibliotecas. Además, el nombre y la versión del framework se especifican mediante las variables QMAKE_FRAMEWORK_BUNDLE_NAME y QMAKE_FRAMEWORK_VERSION. Por defecto, los valores utilizados para estas variables se obtienen de las variables TARGET y VERSION.
Consulte Qt para macOS - Despliegue para obtener más información sobre el despliegue de aplicaciones y bibliotecas.
Creación y traslado de proyectos Xcode
En macOS, los desarrolladores pueden generar archivos de proyecto Xcode a partir de un archivo de proyecto qmake existente. Por ejemplo:
qmake -spec macx-xcode project.pro
Nota: Si un proyecto se mueve posteriormente en el disco, qmake debe ejecutarse de nuevo para procesar el archivo de proyecto y crear un nuevo archivo de proyecto Xcode.
Soporte de dos objetivos de compilación simultáneamente
Implementar esto no es factible actualmente, porque el concepto de Xcode de Active Build Configurations es conceptualmente diferente de la idea de qmake de objetivos de compilación.
Los ajustes de Xcode Active Build Configurations son para modificar las configuraciones de Xcode, las banderas del compilador y opciones de compilación similares. A diferencia de Visual Studio, Xcode no permite la selección de archivos de biblioteca específicos en función de si se seleccionan las configuraciones de compilación de depuración o de lanzamiento. Las configuraciones de depuración y lanzamiento de qmake controlan qué archivos de biblioteca se vinculan al ejecutable.
Actualmente no es posible establecer archivos en la configuración de Xcode desde el archivo de proyecto Xcode generado por qmake. La forma en que las bibliotecas están vinculadas en la fase Frameworks & Libraries en el sistema de construcción de Xcode.
Además, la configuración de compilación activa seleccionada se almacena en un archivo .pbxuser, que es generado por Xcode en la primera carga, no creado por qmake.
Windows
Las características específicas de esta plataforma incluyen soporte para archivos de recursos de Windows (proporcionados o autogenerados), creación de archivos de proyecto de Visual Studio y manejo de archivos de manifiesto al implementar aplicaciones Qt desarrolladas con Visual Studio 2005 o posterior.
Añadir archivos de recursos de Windows
Esta sección describe cómo manejar un archivo de recursos de Windows con qmake para tenerlo vinculado a un ejecutable de aplicación (EXE) o una biblioteca de vínculos dinámicos (DLL). qmake puede, opcionalmente, auto-generar un archivo de recursos de Windows convenientemente rellenado.
Un archivo de recursos de Windows vinculado puede contener muchos elementos que se puede acceder por su EXE o DLL. Sin embargo, el sistema de recursos Qt se debe utilizar para acceder a los recursos vinculados de una manera independiente de la plataforma. Pero algunos elementos estándar del archivo de recursos enlazados de Windows son accedidos por el propio Windows. Por ejemplo, en el explorador de Windows la pestaña de versión de las propiedades del archivo se rellena con elementos de recursos. Además, el icono de programa del EXE se lee a partir de estos elementos. Así que es una buena práctica para un EXE o DLL de Windows creado con Qt utilizar ambas técnicas al mismo tiempo: enlazar recursos independientes de la plataforma a través del sistema de recursos de Qt y añadir recursos específicos de Windows a través de un archivo de recursos de Windows.
Normalmente, un script de definición de recursos (archivo .rc) se compila en un archivo de recursos de Windows. Dentro de la cadena de herramientas de Microsoft, la herramienta RC genera un archivo .res, que puede enlazarse con el enlazador de Microsoft a un EXE o DLL. La cadena de herramientas MinGW utiliza la herramienta windres para generar un archivo .o que puede enlazarse con el enlazador MinGW a un EXE o DLL.
La autogeneración opcional de un archivo .rc adecuadamente rellenado por qmake se activa estableciendo al menos una de las variables de sistema VERSION y RC_ICONS. El archivo .rc generado se compila y enlaza automáticamente. Los elementos que se añaden al archivo .rc se definen mediante las variables de sistema QMAKE_TARGET_COMPANY, QMAKE_TARGET_DESCRIPTION, QMAKE_TARGET_COPYRIGHT, QMAKE_TARGET_PRODUCT, QMAKE_TARGET_ORIGINAL_FILENAME, QMAKE_TARGET_INTERNALNAME, QMAKE_TARGET_COMMENTS, QMAKE_TARGET_TRADEMARKS, QMAKE_MANIFEST, RC_CODEPAGE, RC_ICONS, RC_LANG y VERSION.
Si estos elementos no son suficientes, qmake dispone de las dos variables de sistema RC_FILE y RES_FILE que apuntan directamente a un fichero .rc o .res creado externamente. Al establecer una de estas variables, el archivo especificado se vincula al EXE o DLL.
Nota: La generación del archivo .rc por qmake se bloquea, si se establece RC_FILE o RES_FILE. En este caso, qmake no realiza más cambios en el archivo .rc o en el archivo .res u .o; las variables relacionadas con la generación del archivo .rc no tienen ningún efecto.
Creación de archivos de proyecto de Visual Studio
Esta sección describe cómo importar un proyecto qmake existente en Visual Studio. qmake es capaz de tomar un archivo de proyecto y crear un proyecto de Visual Studio que contiene toda la información necesaria requerida por el entorno de desarrollo. Esto se logra estableciendo la plantilla de proyecto qmake en vcapp (para proyectos de aplicación) o vclib (para proyectos de biblioteca).
Esto también se puede establecer mediante una opción de línea de comandos, por ejemplo:
qmake -tp vc
Es posible generar recursivamente archivos .vcproj en subdirectorios y un archivo .sln en el directorio principal, escribiendo:
qmake -tp vc -r
Cada vez que actualice el archivo de proyecto, deberá ejecutar qmake para generar un proyecto de Visual Studio actualizado.
Nota: Si utiliza el complemento de Visual Studio, seleccione Qt > Importar desde archivo .pro para importar archivos .pro.
Archivos de manifiesto de Visual Studio
Al desplegar aplicaciones Qt creadas con Visual Studio 2005 o posterior, asegúrese de que el archivo de manifiesto que se creó al vincular la aplicación se gestiona correctamente. Esto se gestiona automáticamente para los proyectos que generan DLL.
La eliminación de la incrustación de manifiesto para los ejecutables de la aplicación se puede hacer con la siguiente asignación a la variable CONFIG:
CONFIG -= embed_manifest_exe
También se puede eliminar la incrustación de manifiesto para DLLs con la siguiente asignación a la variable CONFIG:
CONFIG -= embed_manifest_dll
Esto se trata con más detalle en la guía de implementación para Windows.
© 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.