jueves, 24 de enero de 2008

WxWidgets y Codeblocks

Ufff semana agitada por donde las alla.... muchisimos deberes y responsabilidades, en fin ahora dispongo de algo de tiempo asi que seguire con el tutorial de codeblocks.

Instalación de wxWidgets

Bien nuestro IDE es completamente funcional, sin embargo no nos permite programar aplicaciones graficas. Para esto debemos instalar y configurar la librería multiplataforma wxWidgets, proceso que a continuación paso a detallar

Primero descargamos el código fuente de esta librería desde:

http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.8.7-Setup.exe

Luego procedemos a ejecutar el programa que se comporta como cualquier instalador de Windows. Solo hay que tener cuidado con una cosa y es que la ruta de la instalación NO DEBE TENER ESPACIOS tal y como muestro a continuación

Bien ahora debemos compilar la librería para esto vamos a:

Inicio->Ejecutar->cmd.exe

Nota: Los que tengan win9x reemplazar el cmd.exe por command.com

Lo cual nos abrirá el intérprete de comandos. Una vez en el debemos tipear:

cd "ruta wxwidgets"\build\msw

Donde reemplazan "ruta wxwidgets" por la carpeta de instalación de la librería, en mi caso "F:\wxWidgets-2.8.7" tal y como muestra la foto

Ahora corresponde tipear el comando de compilación simplemente escriban

MinGW32-make -f makefile.gcc BUILD=release SHARED=0 MONOLITHIC=1 UNICODE=0 RUNTIME_LIBS=static

Lo cual generara la librería estática y Ansi, de esta forma no tienes que distribuir tus programas con dlls adicionales y aseguras que funcionen en Windows 9x

Si por el contrario prefieres usar dlls adicionales y tener soporte Unicode usa el siguiente comando

MinGW32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1

Si la ejecución de MinGW32-make da un error asegúrate de tener la carpeta de instalación del compilador en el path del sistema. Para esto anda a panel de control->sistema->Avanzado->variables de entorno y en el path agrega la ruta del MinGW incluyendo la carpeta bin, en mi caso es "F:\MinGW\bin". Las siguientes fotos detallan el proceso

Una vez configures el path lanza un nuevo cmd.exe y repite el proceso para compilar. Puedes aprovechar de darte una vuelta ya que demora unos 30 mins aproximadamente en un procesador de 1 GHZ.

Una vez finalizado el proceso de compilación vamos a ejecuta el codeblocks y vamos a File->New->Project

Seleccionamos wxWidgets project

Luego de saltarnos la página de introducción veremos algo como esto

Donde seleccionamos la versión de wxWidgets que utilizaremos (2.8.x en nuestro caso). A continuación en la ventana de propiedades del proyecto configuramos el nombre del proyecto y la ruta de este

Luego viene la pantalla de datos del autor

A continuación viene la pantalla donde seleccionamos el editor de GUI, para esto seleccionamos wxsmith y frame tal y como muestra la siguiente imagen

Luego el IDE nos pregunta por la ubicación de nuestras librerías wxWidgets.

Acá deben dejarlo como en la imagen y presionar next con lo cual se abrirá la siguiente ventana

Solo hay que configurar donde dice base e indicarle donde instalamos la wxWidgets tal y como muestra esta imagen

Finalmente luego de cerrar la pantalla anterior y darle a next nos encontramos con las opciones de construcción acá seleccionamos release

Luego de presionar next nos encontramos con la ventana de configuración de la librería wxWidgets, las opciones de esta ventana deben coincidir con las que usamos al momento de compilar la librería tal y como se puede apreciar en la imagen siguiente.

En mi caso corresponden al primer make (Ansi, Estatica), los que usaron el segundo (Unicode,Dinamica) deben marcar "use wxWidgets dll" y "Enable Unicode". Luego de configurar estas opciones presionamos next y llegamos a la siguiente pantalla

Donde presionamos F9 y si todo va bien debería aparecernos esta pantalla

Con esto hemos configurado codeblocks para trabajar con wxWidgets. Si tienen problemas o quieren más parámetros de configuración revisen:

http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef

Donde esta el procedimiento de instalación mas actualizado.

Solo nos falta un último detalle y es configurar la ayuda de wxwidgets directo en codeblocks. Para eso vamos a Settings->Environment

Help Files->Add con lo cual nos sale un dialogo preguntando por el nombre que le daremos a la ayuda

Después pregunta si deseamos buscar la ayuda, seleccionamos NO con lo cual nos sale la siguiente ventana:

En la cual seleccionamos la ruta de la ayuda de wxWidgets y la hacemos la ayuda por defecto, le damos a ok y ahora cuando presionemos F1 aparecerá esta referencia.

Bueno eso finaliza el Tutorial al menos en la sección Windows, la sección Linux esta en construcción

11 comentarios:

Anónimo dijo...

Tu tutorial me funciono en forma perfecta..
Gracias

Nyxdell dijo...

Muy bueno el tutorial. Me gustaria saber cuando vas a lanzar el tutorial para linux.

Muchas Gracias

Anónimo dijo...

Perfecto, muchísimas gracias.

Gustavo Vash dijo...

Gracias por tu post, muy buen tutorial!

Anónimo dijo...

aqui hay algo util:

http://taringa.net/posts/ebooks-tutoriales/6888465/wxWidgets-y-DLL-de-recursos.html

Proteus1989 dijo...

Simplemente perfecto, yo hasta ahora estaba creando programas por consola y quería saltar al entorno grafico. He estado buscando hasta toparme con tu tutorial, y ha funcionado todo a la primera. Gracias!

Unknown dijo...

Buenas,
yo tengo el code::block 10.5 e instalé el wxwidgets (desde wxpack2.8)tal y como dice el tutorial, hasta aqui perfecto, pero a la hora de compilar (F9) me da errores,por ejemplo:

C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28d.a(monolib_string.o):C:\BuildAgent\work\wxPack\wxwidgets\build\msw\..\..\src\common\string.cpp|418|undefined reference to `_Unwind_Resume'|

Alguna solucion?

wix dijo...

gracias hermano, no programaba en c++ desde la edad de piedra, ahora puedo empezar de nuevo...

mario miguel perez dijo...

Muy buen tutorial, pero tengo una consulta si deseo compilar las librerias de widgets en LINUX (FEDORA 15) desearia saber cual seria la instruccion en la terminal para compilar... entiendo que en windows es "mingw32-make -f makefile.gcc ...." pero el equivalente en FEDORA 15 como seria?, agradecere mucho que alguien me responda y si pudieran darme tambien el equivalente en MAC OS X Leopard excelente...

pp.estrada dijo...

En windows 10 no me reconoce mingw32-make como un comando, me pueden decir cual es el comando para windows 10????

Unknown dijo...

Exelente el tutorial. Muchas gracias.