2009-01-27

Crear aplicaciones Qt en Windows usando Microsoft Visual C++ 2008 (Compilar, Depurar y Ejecutar desde el IDE)

Bueno en mi post anterior expliqué como se podían crear aplicaciones Qt en Windows usando Microsoft Visual C++ 2008 Express Edition y dije que había que compilar desde la consola por que ni idea como hacerlo desde el IDE, ya sé como hacerlo así que lo dejo aquí para el que le interese.

Bueno, lo primero es saber que Microsoft Visual C++ 2008 Express Edition tiene dos configuraciones de compilación: Debug y Release. La configuración de Debug se supone que compila el ejecutable con los símbolos de depuración de Windows y otras cosas, por lo que el ejecutable es más rastreable y de tamaño mayor, la configuración de Release no tiene nada de esto por lo que el tamaño del ejecutable es menor.

Vamos a preprar a Microsoft Visual C++ 2008 Express Edition para compilar nuestras aplicaciones Qt en ambas configuraciones, para empezar tenemos que crear dos archivos (.bat) de procesamiento por lotes que se encargaran de llamar al precompilador de Qt y preparar todo para que luego el Compilador y el Linker del Visual C++ puedan compilar el programa, los pasos son los siguientes:

Vamos a crear dos archivos (.bat) en la carpeta bin del Qt 4 (en mi caso C:\Qt\4.4.3\bin), al primero le llamaremos qcreate.bat, dentro de el escribimos estás líneas de comando:

qmake -project
qmake
nmake

Al segundo lo llamaremos qcreate-release.bat y en el escribiremos:

qmake -project
qmake -config release
nmake

Ahora ya tenemos las secuencias de comando listas, lo que sigue ahora es configurar al Microsoft Visual C++ 2008, para ello seguimos estos pasos:

1. Se creamos un proyecto nuevo aparecerá el asistente de configuración de proyectos de archivos MAKE:


Le damos clic en Siguiente y el asistente nos muestra la configuración de Debug:


Allí, en donde dice Línea de comandos de generación escribimos qcreate, que es el nombre del .bat que hemos creado y luego en donde dice Resultados (para depuración) escribimos debug\ antes del texto que ya se encuentra en el recuadro (sin eliminarlo), es decir que en el ejemplo el texto quedaría: debug\Text-Make.exe, para terminar damos clic en Siguiente.

Ahora nos muestra una ventana muy parecida solo que esta vez se trata de la configuración para el Release, en esta vamos a quitar la marca de verificación de la casilla Igual que la configuración Debug para que se activen los campos. En donde dice Linea de comandos de generación escribimos qcreate-release que es el nombre de nuestro .bat para los releases, y de forma similar a lo que hicimos antes en el recuadro que dice Resultados (para depuración) escribimos release\ antes del texto que se enucentra allí:


Luego damos clic en Finalizar.

Listo, eso es todo, ahora si podemos usar los comandos del IDE para generar (Generar -> Generar Solución / Generar Proyecto) o para Depurar (Depurar -> Iniciar Depuración) también podremos ver los errores y advertencias de la compilación (Ver -> Otras Ventanas -> Lista de Errores) y hacer clic sobre ellos para que el IDE nos lleve directo a la línea donde se encuentra el error.

Lo único que no he podido hacer es que el IDE vea los archivos de Include del Qt, eso si no lo he podido hacer por que los archivos de Include del Qt tienen inclusiones anidadas y el Visual C++ 2008 como que es muy perezoso para irse a buscar las referencias en los archivos anidados entonces cuando uno escribe hello. (en el tutorial) no puede esperar que el Visual C++ le muestre los miembros de la clase QPushButton.

Si encuento una forma de hacerlo posteare nuevmanete. Por ahora los dejo. Comentarios y etc siempre están bien recibidos, siempre y cuando no sean Spam.

2 comentarios:

manuel dijo...

Muy Buen material...gracias

Fernando Chandia R. dijo...

Muchas Gracias, Muy Buen Aporte, quiero contribuir en mejorar la velocidad de compilacion, esto mediante "jom", un binario optimizado para utilizar multiples cores (hilos) de procesamiento, basta con agregar los binarios de jom al path y luego reeemplazar la linea "nmake" por "jom -j 4", 4 significa el numero de tareas simultaneas que se ejecutarán (hasta 62 tareas max). http://labs.qt.nokia.com/2009/03/27/speeding-up-visual-c-qt-builds/
espero les sirva el dato.