16/07/2010

Lo primero de todo es ir a la página oficial de GTK: http://www.gtk.org, después vamos a la sección de descargas y seleccionamos Windows (32bits). Bajamos hasta encontrarnos esto:

paquetes GTK nucleo

Cada paquete tiene 3 descargas.

Binaries: que son las librerías precompiladas, es decir las dll que necesitaras para ejecutar el programa una vez compilado.

Dev: son los archivos necesarios para compilar nuestros programas, y por tanto, los que nos interesan.

Sources: Es el código fuente de la librería, no tiene utilidad si lo que quieres es solo usar la librería, pero si que la tiene si lo que quieres es aprender cómo funcionan.

 

Nos descargamos los Dev de los 5 paquetes (GTK 2.16.6 no nos interesa porque tenemos una nueva versión, la 2.20.0). Una vez que los tengamos hay que descomprimirlo en la carpeta de MinGW, pero… ¿ya está? Pues sí, porque la estructura que tiene en el comprimido coincide con la de MinGW.

Pero para entenderlo mejor, las carpetas que nos interesan de los comprimidos son: “lib”,  “include”, “bin” y “share”. Localiza esas carpetas dentro de los comprimidos (algunos comprimidos no tiene las 4 carpetas, no pasa nada) y pégalas en tu carpeta raíz de MinGW, que normalmente suele ser C:\MinGW, si te pide sobrescribir algo, dile que sí.

Cuando hayas hecho esto para los 5 paquetes descargados, ya tendrás el núcleo de GTK instalado, pero aún falta un pequeño detalle. GTK usa librerías de terceros que también tendrás que instalar, para eso en la sección de descargas para Windows (32 bits) busca esto:

paquetes GTK secundarios

 

Solo los paquetes con la casilla marcada son imprescindibles para que funcione GTK, los demás son extras, en ciertos programas puede que los necesites, pero no es lo normal, y mucho menos cuando se está empezando, así que de momento, solo usaremos los paquete imprescindibles.

En total hay 6 paquetes a bajar, más un paquete necesario para compilar que no aparece como imprescindible, este es pkg-config. Primero nos bajamos los 6 paquetes, en su descarga Dev y procedemos como en los paquetes del núcleo de GTK, después, nos bajamos el paquete pkg-config en su descarga “Tool” y descomprimimos la carpeta bin como en los demás paquetes.

Además, para que pkg-config funcione necesita los binarios de Glib, así que nos bajamos los binarios de Glib (recuerda, Glib, es un paquete del núcleo, antes te has bajado la descarga “Dev”, ahora la descarga de “Binaries”).

Con esto ya deberíamos tener GTK listo para usar. Para comprobar que valla usaremos este código:

#include <gtk/gtk.h>

int main (int argc, char *argv[]){

GtkWidget *window;

gtk_init (&argc, &argv);

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

gtk_widget_show (window);

gtk_main ();

return 0;

 

Guardalo en un archivo con la terminación .c

Para compilarlo, yo aconsejo usar el cmd de windows, para ello abre el cmd.

Si tienes Windows XP usa “ejecutar” de menú inicio. Y si tienes vista (ojala no) o Windows 7 abre inicio y teclea cmd en la barra de búsqueda y pulsa enter.

Una vez abierto, teclea “cd C:\MinGW\bin” y pulsa enter, así te abras metido en el directorio donde está el ejecutable del compilador. Antes de compilar, hay que saber una cosa, el compilador necesita que le des unas instrucciones para poder compilar GTK.

Estas instrucciones son largas y complejas, y aquí en donde entra en acción pkg-config, este programa nos dará una secuencia de instrucciones para el compilador, para ello, tecleamos: “pkg-config.exe --cflags --libs gtk+-2.0”, esto te devolverá varias líneas, cópialas todas, y pégalas en un editor de textos, elimina los salto de línea (enter) que pone el cmd de windows para que quede todo una línea.

¡Bien! Ya tienes casi tu primer programa de GTK, ahora solo hay que compilar, para ello escribiremos (asumiendo que tienes el programa que te he dado en C:\) “gcc –Wall C:\programa.c -o C:\programa.exe (y aquí viene pegadas todas las líneas que te ha devuelto el pkg-config)”

Si no te va, puede que no hallas quitado todo los enter cuando lo has copiado en el ditor de textos, o que hayan quedado caracteres raros, de todas formas te dejo yo lo que tienes que escribir por si tienes problemas:

“gcc -Wall C:\programa.c -0 C:\programa.exe -mms-bitfields -IC:/MinGW/include/gtk-2.0 -IC:/MinGW/lib/gtk-2.0/include -IC:/MinGW/include/atk-1.0 -IC:/MinGW/include/cairo -IC:/MinGW/include/pango-1.0 -IC:/MinGW/include/glib-2.0 -IC:/MinGW/lib/glib-2.0/include -IC:/MinGW/include/freetype2 -IC:/MinGW/include -IC:/MinGW/include/libpng14  -LC:/MinGW/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 –lintl”

En mi caso he eliminado un parámetro que me devuelve pkg-config, es el -lgdi32-lpangocairo-1.0, me daba problemas, no he encontrado la solución, pero no me ha dado problemas al compilar, y los programas funcionaban bien.

Con todo esto ya tendras un ejecutable, pero no funcionará, porque le faltan los .dll, para ello hay que bajarse los “Binaries” de todos los paquetes del núcleo de GTK y poner los .dll (solo los dll) junto al ejecutable, y recuerda, junto al ejecutable NO dentro de una carpeta (para lo que es recomendable que lo pongas TODO dentro de una carpeta, hablo del ejecutable y las librerías).