Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Missy-S en Julio 19, 2012, 09:34:47 PM

Título: [SOLUCIONADO] Compilar estaticamente en Qt 4.8.0 C++
Publicado por: Missy-S en Julio 19, 2012, 09:34:47 PM
Hola a todos! :)

Luego de googlear bastante tiempo y seguir sin resolver el asunto me decidi a escribir aqui! Uso Qt 4.8.0 para desarrollar aplicaciones de escritorio en c++ (Windows) me baje el QtSDK que ya incluye las librearias, el Qt creator y demas.
Lo que quiero es que cuando genere el release,  incluya el codigo de las librearias que necesita (que creo que son QtCore4.dll QtGuid.dll y unas mas de mingw), de modo que no tenga dependencias y pueda ejecutar mi programa en cualquier computadora sin problemas.
Encontre tutoriales sobre como configurar Qt para esto, pero son de versiones anteriores, 2010 o 4.7 y la verdad es que cambian bastante algunas cosas asi que por mas que intente con esos tutoriales no he podido hacerlo.
agradezco si saben o conocen alguna pagina donde expliquen como hacerlo cn esta version :)
Saludos y gracias!
Título: Re:[Help] Compilar estaticamente en Qt 4.8.0 C++
Publicado por: BlackBox en Agosto 10, 2012, 12:42:04 AM
Lo que dices es Irreal, cuando creas cualquier aplicacion requiere de sus librerias en tiempo de compilacion, cuando te genera el .exe ya esto no es necesario a no ser que sea  C# la cual requiere de los .Net Framework para ejecucion de sus aplicaciones y de su correcto funcionamiento, te invito a que copies algo de codigo de lo que haces por si puedo replicarlo y darte una solucion mas certera.
Título: Re:[Help] Compilar estaticamente en Qt 4.8.0 C++
Publicado por: s00rk en Agosto 10, 2012, 04:33:23 AM
Cita de: BlackBox
Lo que dices es Irreal, cuando creas cualquier aplicacion requiere de sus librerias en tiempo de compilacion, cuando te genera el .exe ya esto no es necesario a no ser que sea  C# la cual requiere de los .Net Framework para ejecucion de sus aplicaciones y de su correcto funcionamiento, te invito a que copies algo de codigo de lo que haces por si puedo replicarlo y darte una solucion mas certera.

Lo que dice el compañero si es verdad, al bajarte el SDK, tu mismo puedes hacer que las librerias sean estaticas y asi incluirlas en el codigo de tu proyecto para al correrlo en cualquier S.O. este corra .... bueno eso es lo que he leido yo use la version 3.7.8 (creo) y cuando lo hice static me funciono en cualquier windows sin problemas sin tener que usar dll's externas.

Ahora en la nueva version pues me he alejado de QT luego me lo bajare para hecharle un ojo en los cambios he igual ver si puedo hacerlos static y si es asi hago un pequeño tuto aunque eso ya hasta 1 semana mas hehe que no ando en casa ;D
Título: Re:[Help] Compilar estaticamente en Qt 4.8.0 C++
Publicado por: [Zero] en Mayo 29, 2013, 04:44:14 PM
En teoría tiene que funcionar añadiendo al fichero .pro:

Código (text) [Seleccionar]
CONFIG+=static

Con eso debería funcionar. Si no lo hace, recompilando el framework y pasando -static cuando ejecutas el configure ya lo hará por defecto.

Y cuidado, si vas a crear una aplicación con soporte para plugins (QtPlugin) , éstos solo funcionan si se enlaza dinámicamente.

También puedes usar el Qt Installer Framwork (http://qt-project.org/wiki/Qt-Installer-Framework) para hacer un instalable y hacer que todas las dependencias se copien a su sitio.

Saludos