【GTK】在Windows下安装GTK

1、下载MSYS2

MSYS2中下载安装包,并安装MSYS2。
image

2、打开MSYS2 shell

在MSYS2 shell中运行以下命令:

> pacman -S mingw-w64-x86_64-gtk4

image
成功截图:
image

3、安装pkg-config

> pacman -S pkg-config

image
/usr/lib/pkgconfig路径下新增gtk4.pc文件:

Name: gtk4
Description: gtk4.0 library
URL: https://www.gtk.org/
Version: 4.0
Libs: -pthread -L/mingw64/lib -lgtk-4 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
Cflags: -pthread -I/mingw64/include/gtk-4.0 -I/mingw64/include/cairo -I/mingw64/include/pango-1.0 -I/mingw64/include/glib-2.0 -I/mingw64/include/pixman-1 -I/mingw64/include/freetype2 -I/mingw64/include/libpng16 -I/mingw64/lib/glib-2.0/include -I/mingw64/include/harfbuzz -I/mingw64/include/gdk-pixbuf-2.0 -I/mingw64/include/graphene-1.0 -I/mingw64/lib/graphene-1.0/include

4、编写示例程序

#include <gtk/gtk.h>

static void
print_hello (GtkWidget *widget,
             gpointer   data)
{
  g_print ("Hello World\n");
}

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

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

  button = gtk_button_new_with_label ("Hello World");
  g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);
  gtk_window_set_child (GTK_WINDOW (window), button);

  gtk_window_present (GTK_WINDOW (window));
}

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

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

  return status;
}

编译示例程序:

> cc `pkg-config --cflags gtk4` hello.c -o hello `pkg-config --libs gtk4`

编译成功后,会在当前目录下生成hello.exe文件:
image
将动态链接库拷贝到当前目录下。

> cp /mingw64/bin/*.dll ./
> cp /usr/bin/msys-2.0.dll ./

双击hello.exe,即可运行:
image

posted @ 2023-08-08 13:39  NotReferenced  阅读(624)  评论(2编辑  收藏  举报