qt - example - qhboxlayout
¿Qt creator, de forma predeterminada, vincula de forma estática o dinámica sus bibliotecas? (2)
Lo hace por defecto, la vinculación estática parece ser bastante complicada a juzgar por las muchas preguntas en el sitio con respecto a ella.
Estoy desarrollando una aplicación de código cerrado y para hacerlo de acuerdo con la LGPL tengo que vincular dinámicamente las bibliotecas de Qt a mi aplicación. ¿Qt hace esto de manera predeterminada o tengo que tomar medidas para hacerlo? Si ese es el caso, ¿cómo podría hacerlo?
Qt utiliza la vinculación dinámica de forma predeterminada.
Notará esto inmediatamente durante la implementación en una máquina que no sea de desarrollador, porque su código no se ejecutará sin las bibliotecas Qt.
Si su preocupación es la LGPL, solo tenga cuidado al compilar Qt. La mayoría de las violaciones de LGPL con Qt no se deben a la vinculación estática (ya que dinámico es el predeterminado), sino para compilar Qt con parámetros no predeterminados.
LGPL no es solo que la biblioteca debe proporcionarse a lo largo de sus archivos binarios, sino que también especifica cómo los usuarios pueden construir ellos mismos la parte LGPL. Si compila Qt usted mismo y no utiliza los binarios precompilados del sitio web, ¡debe documentar esa parte de la configuración de construcción en su versión!
Tan pronto como consiga que se ejecute algo en su programa, comience a preparar una versión de lanzamiento para un entorno que no sea de desarrollador sin Qt instalado. Su programa debería fallar tan pronto como elimine las DLL que debe copiar junto con su programa (o cualquier formato que use su sistema operativo).