Despliegue de aplicaciones Qt
Desplegar una aplicación Qt no requiere programación en C++. Todo lo que necesitas hacer es compilar Qt y tu aplicación en modo release, siguiendo los procedimientos descritos en esta documentación.
Bibliotecas estáticas vs. compartidas
Hay dos formas de desplegar una aplicación:
- Enlace estático
- Bibliotecas compartidas (Frameworks en Mac)
La vinculación estática da como resultado un ejecutable independiente. La ventaja es que sólo tendrá que desplegar unos pocos archivos. Las desventajas son que los ejecutables son grandes y sin flexibilidad (es decir, una nueva versión de la aplicación, o de Qt, requerirá que se repita el proceso de despliegue), y que no se pueden desplegar plugins.
Para desplegar aplicaciones basadas en plugins, puede utilizar el enfoque de bibliotecas compartidas. Las bibliotecas compartidas también proporcionan ejecutables más pequeños y flexibles. Por ejemplo, utilizando el enfoque de bibliotecas compartidas, el usuario puede actualizar de forma independiente la biblioteca Qt utilizada por la aplicación.
Otra razón por la que podría querer utilizar el enfoque de bibliotecas compartidas, es si desea utilizar las mismas bibliotecas Qt para una familia de aplicaciones. De hecho, si descarga la instalación binaria de Qt, obtendrá Qt como una biblioteca compartida.
La desventaja con el enfoque de biblioteca compartida es que obtendrá más archivos para desplegar. Para obtener más información, consulte Creación de bibliotecas compartidas.
Desplegando las Bibliotecas de Qt
A menos que Qt forme parte de las bibliotecas del sistema, debe redistribuirse con su aplicación. Lo mínimo es redistribuir el tiempo de ejecución de las librerías utilizadas por la aplicación. Sin embargo, con el enlazado estático, los tiempos de ejecución de Qt pueden compilarse en el ejecutable.
En general, deberías desplegar todos los plugins que utiliza tu compilación de Qt, excluyendo aquellos que hayas identificado como innecesarios para tu aplicación y sus usuarios.
Por ejemplo, puede que necesites desplegar plugins para soporte JPEG y controladores SQL, pero también deberías desplegar plugins que tus usuarios puedan necesitar, incluyendo los de accesibilidad. Para más información sobre plugins, consulte Cómo crear plugins Qt.
Las aplicaciones que utilizan Qt Qml también necesitan distribuir los módulos QML que utilizan.
Al desplegar una aplicación utilizando el enfoque de bibliotecas compartidas, debe asegurarse de que las bibliotecas Qt utilicen la ruta correcta para encontrar los plugins Qt, la documentación, la traducción, etcétera. Para ello, puede utilizar un archivo qt.conf. Para obtener más información, consulte Uso de qt.conf.
Dependiendo de la configuración, las bibliotecas específicas del compilador también deben redistribuirse. Para obtener más información, consulte las dependencias de aplicaciones específicas de la plataforma para Linux, Windows y macOS.
Licencias
Algunas de las bibliotecas de Qt se basan en bibliotecas de terceros que no tienen la misma licencia dual que Qt. Como resultado, se debe tener cuidado al desplegar aplicaciones que utilizan estas bibliotecas, en particular cuando la aplicación está estáticamente vinculada a ellas. Para obtener más información, consulte Código de terceros utilizado en Qt.
Algunas configuraciones de QtNetwork utilizan OpenSSL en tiempo de ejecución. La implementación de las bibliotecas OpenSSL está sujeta a restricciones de licencia y exportación. Para obtener más información, consulte Clases de Secure Sockets Layer (SSL).
Notas específicas de la plataforma
El procedimiento de despliegue de aplicaciones Qt es diferente para las distintas plataformas:
Véase también Desplegar traducciones.
© 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.