Saltar al contenido

¿Cómo se instala GTK + 3.0 en Windows?

Solución:

¡Bienvenidos, usuarios de Google del futuro! Desde que escribí esta respuesta, el sitio web de GTK + ahora tiene instrucciones de instalación oficiales que cubren lo que dije a continuación, pero con más detalles y menos dolor. En su lugar, consulte esa página. La respuesta a continuación se ha mantenido por razones históricas.

El problema con el sitio web GTK + es que no hay nadie que mantenga estas distribuciones binarias. La distribución binaria anterior para Windows era para GTK + 3.6, que creo que se lanzó en 2012, si no antes. La versión actual es 3.16 y 3.18 es literalmente dias lejos de ser liberado. MSYS2 es el único mecanismo de instalación compatible y se actualiza con la frecuencia suficiente.

Dicho esto, debe instalar GTK + por separado si usa la ruta MSYS; MSYS no viene con GTK + listo para usar. Empezar con

pacman -Ss gtk3

Eso debería darle una lista de posibles paquetes para instalar, incluidas las bibliotecas GTK + para MinGW de 32 y 64 bits. Ahora olvido sus nombres exactos.

Una vez que encuentre el que desea, use

pacman -S package-name-here

para instalarlo. Luego, abra el Shell MinGW de 32 bits o 64 bits desde la carpeta MSYS del menú Inicio para comenzar a desarrollar.

Si desea un IDE tradicional para la programación GTK +, busque GNOME Builder o Anjuta. Para un diseñador gráfico de GUI, busque Glade.

Aleluya, he encontrado la versión sana que no es Linux de obtener GTK para Windows.

Alguien tuvo la amabilidad de subir a Dropbox los archivos GTK, simplemente descargarlos y extraerlos. Aquí está el enlace para cualquier otra persona que se encuentre con este desastre GTK / msys2.

https://www.dropbox.com/sh/8d1qbh5dsp044on/UgkALzhlqH

Estos archivos realmente deberían estar disponibles en la página de descarga de GTK de Windows, es increíble.

Cierra este hilo, viva windows.

Estoy de acuerdo en que la comunidad de GNOME está siendo un poco insolente hasta este punto. Hicieron la instalación de GTK + casi lo mismo que la instalación de Linux, que es un poco como darte pepsi en mcdonalds.

Lo peor es que te está obligando a usar su propia basura hasta el punto de que incluso te dicen qué IDE elegir, cómo construirás tu aplicación, qué tendrá en tu aplicación … (nada personal, en realidad siempre preferiré Linux, solo estoy siendo imparcial)


Ahora, para ser específico, mencionaste explícitamente Codeblocks. No uses el proyecto GTK + de code :: block, está terriblemente desactualizado. Puede, por supuesto, modificar el script o crear el suyo propio, pero aún así lo ralentizará y nosotros, los programadores, valoramos nuestro tiempo (creo)

El procedimiento de instalación (hasta el día de hoy) GTK3 ver. 3.22.16 en Windows 7 para usar con Code :: Blocks resulta bastante simple. Primero descargue MSYS2 y escriba dentro del shell msys2:

pacman -S mingw-w64-x86_64-gtk3

(Ingresar y para confirmar) Entonces

pacman -S mingw-w64-x86_64-toolchain base-devel

(para asegurarse de que tiene binarios precompilados de pkg-config y para asegurarse de que tiene la última versión de gcc)

Luego tiene algo de trabajo en CodeBlocks, primero configure el nuevo compilador, desde la configuración del compilador de Codeblocks -> Ejecutables de Toolchain. El nuevo compilador debe estar ubicado en C:msys64mingw64
(C o el disco en el que instaló MSYS)

Luego, vincule algunas bibliotecas en la configuración del compilador de Codeblocks -> Buscar directorios:
ingrese la descripción de la imagen aquí


Estas bibliotecas serán suficientes para ejecutar este sencillo código de muestra:

#include <gtk/gtk.h>

static void activate (GtkApplication* app, gpointer user_data)
{
    GtkWidget *window;

    window = gtk_application_window_new(app);
    gtk_window_set_title(GTK_WINDOW (window), "Window");
    gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);
    gtk_widget_show_all(window);
}

int main (int argc, char *argv[])
{
    GtkApplication *app;
    int status;

    app     = gtk_application_new("org.gtk.example", G_APPLICATION_FLAGS_NONE);
    g_signal_connect(app, "activate", G_CALLBACK (activate), NULL);
    status  = g_application_run(G_APPLICATION (app), argc, argv);
    g_object_unref(app);

    return status;
}

y tener un resultado como este:ingrese la descripción de la imagen aquí

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *