¿Cómo compilar la librería Qt estáticamente bajo Windows?
¡Buenas a todos! Pues como se ha preguntado sobre este tema he sacado un poco de tiempo y me he puesto a escribir este tutorial.Ya sé que hay información de sobra pero esta última está actualizada.
Descarga e instalación del compilador.
Bien , para compilar la librería Qt estáticamente bajo Windows debemos descargarnos un compilador(no es necesario si ya lo tenemos), en mi caso explicaré esto para hacerlo con MinGW , la librería en su versión 4.8.2 y configurarla en el IDE Qt Creator. Primero de todo nos descargamos la última versión del instalador de MinGW-get-inst de aquí http://sourceforge.net/projects/mingw/ y la instalamos siguiendo los siguientes pasos:
Paso 1:
Paso 2:
Paso 3:
Paso 4:
Paso 5:
Paso 6:
Paso 7:
Paso 8:
Seguidamente cuando lo instalemos debemos configurar el path en las variables de entorno , en el caso de Windows 7 , en Inicio->Equipo y hacemos clic derecho sobre él y pinchamos en propiedades , seguidamente en Configuración avanzada del sistema y después en Variables de entorno y editamos la variable path agregando al final si no has cambiado el directorio de instalación esto C:\MinGW\bin;
Dejo unas imágenes para el que no lo encuentre:
Paso 1:
Paso 2:
Paso 3: Paso 4:
Paso 5:
Compilando la librería Qt estáticamente.
Una vez hecho esto nos descargamos el código fuentede la librería Qt desde http://qt.nokia.com/downloads y nos descargamos la última versión . Una vez descargada la descomprimimos en un lugar ACCESIBLE , es decir , que no contenga espacios ni letras raras o con tildes , el mejor sitio para evitar líos es C:\
Una vez hecho eso vamos a Inicio -> Todos los programas -> Accesorios -> cmd.exe y clicamos en este último, en la ventana negra que nos sale debemos ir hasta el directorio en el que tenemos el código fuente descomprimido , dejo unas imágenes para que se os haga más sencillo:
El comando configure usado es este:
configure.exe -platform win32-g++ -static -release -nomake example -nomake demos
Pulsamos enter y esperamos que termine. Una vez terminado ejecutamos este comando:
mingw32-make
Pulsamos enter y esperamos a que termine.(Esto en una máquina virtual se ha llevado dos horas y cinco minutos).Lo que deberíamos obtener cuando terminase es esto:
Instalando Qt Creator
Bien, ya tenemos la librería compilada estáticamente , el compilador y ¿que nos falta? el IDE ... nos descargamos Qt Creator para Windows desde aquí(está casi abajo del todo) http://qt.nokia.com/downloads y lo instalamos:
Paso 1:
Paso 2:
Paso 3:
Paso 4:
Paso 5:
Paso 6:
Configurando Qt Creator.
Ahora tenemos que configurar en el IDE Qt Creator las librerías estáticas y el compilador, lo hacemos así:
Paso 1:
Paso 2:
Paso 3:
Posibles problemas:
Compila pero hace falta libgcc.*.dll y mingw.*.dll:
En ese caso buscar el archivo de configuración de qmake en mi caso que usio win32-g++ estaría en C:\qt-everywhere-opensource-src-4.8.2\mkspecs\win32-g++ y buscar el valor QMAKE_LFLAGS, y reescribir lo que hay por esto:
QMAKE_LFLAGS = -static -static-libgcc -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
Y ya está , todo listo , ahora creen un proyecto , compílenlo con la librería estática en modo release y vean el tamaño del ejecutable , veran que es bastante más pesado de lo habitual .Por favor , si hay algo que no esté bien explicado o presente dudas pónganlo , aunque creo que el tutorial es lo bastante gráfico y sencillo como para que no sea entendible ¡Un saludo a todos!
PD : overxfl0w13 lo prometido es deuda