Opciones de configuración de Qt
configure es una herramienta de línea de comandos que te ayuda a construir una versión personalizada de Qt desde el código fuente. Es parte del directorio principal de fuentes de Qt.
Desde Qt 6, configure es una envoltura alrededor de CMake. CMake también puede ser invocado directamente. configure proporciona una comprobación de errores adicional y compatibilidad con Qt 5.
Esta página discute algunas de las opciones de configure. Para obtener la lista completa de opciones, introduzca el comando configure -h.
Nota: A menos que se indique lo contrario, los comandos de esta página son para las plataformas Linux. En macOS y Windows, PATH y la estructura de directorios son diferentes, por lo que los comandos variarán. Además, en los sistemas Windows, el script de configuración se llama configure.bat.
Flujo de trabajo de configure
configure debe ejecutarse en un entorno de compilación en el que CMake, los compiladores y las herramientas de compilación necesarias estén disponibles. Building Qt Sources lista tales dependencias por plataforma.
Después de configurar tal entorno, el flujo de trabajo típico es crear un directorio de compilación separado, y luego ejecutar primero configure, luego compilar Qt, y luego instalar Qt:
~/qt-source/configure cmake --build . --parallel cmake --install .
Puede que quieras experimentar con diferentes opciones de configuración, y por lo tanto ejecutar configure varias veces. Tenga en cuenta que CMake almacena en caché las opciones de configuración y la información sobre el entorno en un archivo llamado CMakeCache.txt. Borra este archivo cuando quieras empezar de nuevo sin la información almacenada en caché.
Directorios de origen, compilación e instalación
El directorio source contiene el código fuente que se obtiene del paquete fuente o del repositorio git. El directorio build es donde se almacenan los archivos relacionados con la compilación, como los archivos del sistema de compilación, los archivos de objetos y otros archivos intermedios. El directorio install es donde se instalan los binarios y librerías, para su uso por el sistema o por la aplicación.
Se recomienda mantener estos directorios separados mediante shadow-building y utilizando la opción -prefix. Esto le permite mantener el árbol de código fuente de Qt limpio de los artefactos de construcción y los binarios, que se almacenan en un directorio separado. Este método es muy conveniente si desea tener múltiples compilaciones del mismo árbol de código fuente, pero para diferentes configuraciones. Para shadow-build, ejecute configure desde un directorio separado:
mkdir ~/qt-build cd ~/qt-build ~/qt-source/configure -prefix /opt/Qt6
Configurar con la opción -prefix significa que los binarios y librerías Qt se instalan en otro directorio, que en este caso es /opt/Qt6.
Ejemplos, pruebas y herramientas
Por defecto, configure sólo configura las librerías y herramientas de Qt. Puedes usar -make examples o -make tests para construir también los ejemplos o tests que vienen con Qt:
~/qt-source/configure -make examples -make tests
También puede configurar Qt para que los ejemplos, tests y herramientas estén configurados, pero no construidos por defecto. Si establece las variables CMake QT_BUILD_EXAMPLES_BY_DEFAULT, QT_BUILD_TESTS_BY_DEFAULT, y QT_BUILD_TOOLS_BY_DEFAULT en OFF, las partes respectivas no serán construidas por cmake --build .. En su lugar, CMake generará objetivos individuales que puedes construir individualmente.
Aquí construimos las librerías y herramientas Qt, pero también el ejemplo del Bloc de Notas:
~/qt-source/configure -make examples -- -D QT_BUILD_EXAMPLES_BY_DEFAULT=OFF cmake --build . --parallel cmake --build . --parallel --target notepad
Nota: La opción -developer-build construye pruebas por defecto. Ver también Developer Builds más abajo.
Configuraciones de compilación
Puedes compilar las librerías y herramientas Qt en varias variantes, cada una de ellas optimizada para un caso de uso diferente.
Construcciones Debug y Release
-release indica al compilador que optimice el código y no proporcione símbolos de depuración adicionales junto a Qt y sus herramientas.
-debug omite algunas optimizaciones para facilitar la depuración de Qt y sus herramientas. Esta opción también habilita la generación de símbolos de depuración que te permiten inspeccionar el código y el estado de las librerías construidas en un depurador.
Finalmente, -debug-and-release te permite construir tanto una variante de depuración como una variante de lanzamiento de las librerías Qt de una sola vez. Esto sólo es posible si configuras una compilación para Windows.
Hay más opciones para ajustar las configuraciones:
-force-debug-info: Crea una versión de lanzamiento con información de depuración.-separate-debug-info: Extrae la información de depuración en un archivo separado.-optimize-size: Optimiza las compilaciones de lanzamiento por tamaño en lugar de por velocidad.
Construcciones estáticas y compartidas
Los Módulos Qt pueden ser construidos como librerías separadas que un ejecutable enlaza y carga en tiempo de inicio (para librerías Qt), o en tiempo de ejecución (para plugins Qt). Esto se denomina compilación compartida y es la configuración por defecto en la mayoría de las plataformas. La opción de configuración correspondiente es -shared.
También puedes compilar Qt de forma que un binario ejecutable incluya todos los módulos Qt a los que enlace y todos los plugins Qt que necesite. Esto se denomina compilación estática y puede seleccionarse al configurar con la opción -static.
Generadores CMake
Al configurar, puede seleccionar un generador CMake. Tenga en cuenta que CMake admite generadores que no se pueden utilizar con Qt. Por lo tanto, configure selecciona automáticamente un generador para usted.
configure siempre utiliza el generador Ninja y la herramienta de compilación si hay un ejecutable ninja disponible. Ninja es multiplataforma, rico en características y rendimiento, y se recomienda en todas las plataformas. El uso de otros generadores puede funcionar, pero no está soportado oficialmente.
Módulos y características
El código fuente de Qt está organizado en varios directorios de nivel superior llamados submódulos, por ejemplo, qtbase, qtdeclarative o qtmultimedia. Dentro de estos submódulos, se encuentra el código fuente de los diferentes Módulos Qt. Qt Core, Qt Quicky Qt Multimedia son ejemplos de dichos módulos Qt.
Nota: Muchos submódulos (directorios fuente de nivel superior) tienen el mismo nombre que los Módulos Qt que implementan, pero no siempre es así. Por ejemplo, qtdeclarative contiene Qt Quick y Qt Qmly varios módulos relacionados. Consulte el archivo README.md en los respectivos directorios para obtener una visión general.
Los submódulos pueden incluirse o excluirse explícitamente para limitar el tiempo de compilación. Además, cada módulo Qt puede tener características que también pueden ser explícitamente habilitadas o deshabilitadas.
Incluir y excluir submódulos Qt
La opción -skip de configure se utiliza para excluir submódulos (directorios fuente de nivel superior) de la compilación de Qt. Excluir un submódulo excluye todos los módulos Qt dentro de ese submódulo. El submódulo qtwayland contiene tanto el Qt Wayland Compositor y el plugin QPA de Qt Wayland. Especificar -skip qtwayland como opción de configure excluirá ambos módulos Qt.
~/qt-source/configure -skip qtwayland
La opción -submodules de configure puede utilizarse para configurar una compilación que sólo compile los submódulos listados y sus dependencias. Por ejemplo, especificando el submódulo qtmultimedia, Qt Multimedia y todas sus dependencias se incluirán en la compilación. Se pueden separar varios submódulos mediante comas.
~/qt-source/configure -submodules qtmultimedia,qtactiveqt
Inclusión o exclusión de características
Las opciones -feature-<característica> y -no-feature-<característica> incluyen y excluyen características específicas, respectivamente.
Por ejemplo, puede utilizar la opción de configuración -no-feature-accessibility para desactivar el soporte de accesibilidad en Qt:
~/qt-source/configure -no-feature-accessibility
Utilice configure -list-features para mostrar una lista de todas las características disponibles en la línea de comandos. Tenga en cuenta que las funciones pueden depender de otras funciones, por lo que desactivar una función puede tener efectos secundarios en otras funciones.
Bibliotecas de terceros
Los paquetes fuente de Qt incluyen bibliotecas de terceros. Para establecer si Qt debe utilizar las versiones del sistema de las bibliotecas o utilizar la versión incluida, pase -system o -qt antes del nombre de la biblioteca a configurar.
La siguiente tabla resume algunas opciones de terceros:
| Nombre de la biblioteca | Incluida en Qt | Instalada en el sistema |
|---|---|---|
| zlib | -qt-zlib | -system-zlib |
| libjpeg | -qt-libjpeg | -system-libjpeg |
| libpng | -qt-libpng | -system-libpng |
| freetype | -qt-freetype | -system-freetype |
| PCRE | -qt-pcre | -system-pcre |
| HarfBuzz-NG | -qt-harfbuzz | -system-harfbuzz |
También es posible deshabilitar el soporte para la mayoría de estas librerías usando -no en lugar de -qt.
configure en Qt 6 se basa en CMake para localizar librerías de terceros. Lo hace comprobando varias rutas del sistema. Si ha instalado las bibliotecas en otro lugar, puede hacérselo saber a CMake estableciendo o ampliando la variable CMAKE_PREFIX_PATH.
Para una lista completa de opciones, consulte la ayuda de configure -help.
SSL
Qt Network puede configurarse para soportar comunicación para Secure Sockets Layer (SSL) pero no implementa los algoritmos en sí. En su lugar, necesita aprovechar otras bibliotecas.
En Windows, Qt puede utilizar la biblioteca Secure Channel del sistema para este fin (opción de configuración -schannel). En macOS e iOS, Qt puede configurarse para utilizar la API SecureTransport (opción de configuración -securetransport).
El kit de herramientas OpenSSL (opción -openssl) ofrece el soporte más completo y funciona en casi todas las plataformas de destino. Qt requiere OpenSSL 1.1.1 o posterior.
Qt puede configurarse para usar OpenSSL de tres maneras:
- Qt Network carga las librerías OpenSSL (DLLs) cuando se necesitan por primera vez, en tiempo de ejecución. Si no se encuentran, la aplicación continúa ejecutándose pero falla al manejar la comunicación SSL. Esto se activa utilizando la opción de configuración
-openssl-runtime. - Qt Network enlaces contra las librerías OpenSSL. Si no se encuentran en tiempo de carga, la aplicación no se inicia. Esto se activa utilizando la opción de configuración
-openssl-linked. - Qt Network compila contra una versión estática de las librerías OpenSSL, y OpenSSL se convierte en parte de la librería Qt Network. Esto se activa utilizando la opción de configuración
openssl-linkedy estableciendo la variableOPENSSL_USE_STATIC_LIBSenON.
Establezca la variable CMake OPENSSL_ROOT_DIR si OpenSSL no está instalado en una ubicación estándar, y por lo tanto no es encontrado por configure.
Ver Secure Sockets Layer (SSL) Classes para más instrucciones sobre Qt con soporte SSL.
Opciones de Compilación Cruzada
Para configurar Qt para el desarrollo y despliegue multiplataforma, necesitas tener primero una versión de Qt que coincida con la de la máquina anfitriona. Además, es necesario configurar la cadena de herramientas de desarrollo para la plataforma de destino. Esta configuración varía entre las plataformas soportadas.
Las opciones comunes son:
-external-hostbindir- Ruta a las herramientas Qt construidas para esta máquina.-device- Seleccione devices/mkspec para los archivos qmake companion.-device-option- Establece variables qmake adicionales.
Nota: Toolchains para objetivos que no son de escritorio a menudo vienen con un llamado sysroot contra el cual Qt necesita ser configurado.
Compilaciones para desarrolladores
La opción -developer-build configure es una opción conveniente que optimiza la compilación para el desarrollo de Qt. No debería usarse para construir variantes de Qt que se envíen a los clientes.
Las bibliotecas en una compilación para desarrolladores contienen más símbolos exportados que una compilación estándar, y todo el código Qt se compila con un nivel de advertencia más alto. También cambia el prefijo por defecto del directorio de compilación, evitando la necesidad de instalar Qt antes de probar las cosas, y finalmente habilita la compilación de las auto-pruebas de Qt por defecto.
Reconfiguración de compilaciones existentes
El sistema de compilación de Qt tiene soporte básico para reconfigurar compilaciones existentes de Qt con un conjunto diferente de opciones de configuración, pero no es muy robusto debido a la forma en que CMake funciona internamente.
La forma más segura de reconfigurar una compilación existente es pasar la opción -redo a configure. Esto eliminará el archivo CMakeCache.txt de la compilación, asegurando un estado relativamente seguro para la reconfiguración. Las opciones iniciales de configure se seguirán aplicando a la compilación reconfigurada.
Instalando Configure Resumen y Opciones
Desde Qt 6.9, los archivos configure summary, así como las opciones pasadas a configure, pueden incluirse automáticamente como parte de la instalación.
Esta característica se activa estableciendo la variable CMake QT_INSTALL_CONFIG_INFO_FILES a ON:
~/qt-source/configure -prefix /opt/Qt6 -- -D QT_INSTALL_CONFIG_INFO_FILES=ON
Durante la instalación, los archivos de texto para configure summary y las opciones (para cada repositorio parte de la compilación) se copian en architecture-independent Qt data directory.
Por ejemplo,
/opt/Qt6/config_qtbase.opt /opt/Qt6/config_qtbase.summary /opt/Qt6/config_qtdeclarative.opt /opt/Qt6/config_qtdeclarative.summary ...
Opciones específicas para plataformas
Las siguientes páginas proporcionan directrices sobre cómo configurar Qt para el desarrollo de plataformas específicas:
- Construir Qt para QNX
- Construir Qt para VxWorks
- Configurar un dispositivo Linux integrado
- Qt para Android - Construir desde el código fuente
- Qt para Linux - Construir desde el código fuente
- Qt para Windows - Creación desde el código fuente
- Qt para macOS - Creación desde el código fuente
- Qt para INTEGRITY - Tutorial del Proyecto Monolith
- Qt para iOS - Creación desde el código fuente
- Qt para WebAssembly - Creación desde el código fuente
© 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.