【GTK】在Windows下安装GTK
1、下载MSYS2
从MSYS2中下载安装包,并安装MSYS2。
2、打开MSYS2 shell
在MSYS2 shell中运行以下命令:
> pacman -S mingw-w64-x86_64-gtk4
成功截图:
3、安装pkg-config
> pacman -S pkg-config
在/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文件:
将动态链接库拷贝到当前目录下。
> cp /mingw64/bin/*.dll ./
> cp /usr/bin/msys-2.0.dll ./
双击hello.exe,即可运行:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南