How do you install GTK+ 3.0 on Windows?
试图在Codeblocks Win7上设置GTK 3.0。很难找到确切的操作方法。
GTK网站将您定向到msys2。似乎曾经在GTK站点上直接下载了一个不再存在的多合一Windows捆绑软件。
按照说明安装和更新了msys2,在安装的文件或GTK指导您访问的mysys网站上,我没有看到对GTK的引用。
就不必要和愚蠢的不清楚来做应该很简单的事情而言,这似乎是linuxy。也许我错过了一些东西,但它不应该像下载压缩文件夹,提取并设置路径那样简单吗?
以这种速率id可以更快地学习C并使用Qt。
问题在标题中,我很惊讶,我不得不问这个问题,似乎Google应该完全涵盖了这个问题,但是我发现的所有内容都与GTK网站上不再提供的下载有关。我找不到有关msys2和GTK 3.0的信息。
预先感谢。
Welcome, Google users from the future! Since I wrote this answer, the GTK+ website now has official installation instructions that cover what I said below but with more details and less pain. Refer to that page instead. The answer below has been kept for historical reasons.
GTK网站的问题在于,没有人可以维护这些二进制发行版。 Windows以前的二进制发行版是针对GTK 3.6的,我相信应该早在2012年就发布了。当前版本是3.16,而3.18距离发布实际上还有几天的时间。 MSYS2是唯一受支持的安装机制,并且已足够频繁地进行更新。
也就是说,如果使用MSYS路由,则需要单独安装GTK。 MSYS并不随GTK一起提供。以
开头
1 | pacman -Ss gtk3 |
这应该为您提供可能安装的软件包的列表,包括32位和64位MinGW的GTK库。我现在忘记了他们的确切名字。
找到想要的那个后,请使用
1 | pacman -S package-name-here |
进行安装。然后,从"开始"菜单的MSYS文件夹中打开MinGW 32位或64位Shell,以开始开发。
如果要使用传统的IDE进行GTK编程,请查找GNOME Builder或Anjuta。对于图形GUI设计器,请查找Glade。
Hallelujah,我发现可以在Windows上使用GTK的理智的非Linux版本。
有人善良地将GTK文件上传到了dropbox,只需下载并解压缩即可。这是其他任何遇到此GTK / msys2灾难的人的链接。
https://www.dropbox.com/sh/8d1qbh5dsp044on/UgkALzhlqH
这些文件确实应该在GTK Windows下载页面上提供,这真是令人难以置信。
关闭该线程,打开窗口。
我同意GNOME社区对此有点无礼。
他们使GTK的安装几乎与Linux的安装相同,这有点像在mcdonalds中为您提供百事可乐。
最糟糕的是,它迫使您使用自己的废话,甚至他们告诉您选择哪种IDE,如何构建应用程序,应用程序中将包含什么。实际上总是更喜欢Linux,我只是不偏不倚)
现在,您已经明确提到了代码块。
不要使用code :: block的GTK项目,它已经过时了。
您当然可以修改脚本或创建自己的脚本,但是它仍在继续
为了让您放慢脚步,我们,程序员珍视我们的时间(我认为)
安装GTK3版本(至今)的过程。 Windows 7上与Code :: Blocks一起使用的3.22.16相当简单。
首先下载MSYS2并在msys2 shell中键入:
(输入
然后
(以确保您具有pkg-config的预编译二进制文件,并确保您具有最新版本的gcc)
然后,首先在CodeBlocks中进行一些工作
在Codeblocks的编译器设置->工具链可执行文件中设置新的编译器。新的编译器应位于
(C或您在其中安装了MSYS的磁盘)
然后在Codeblocks的编译器设置中链接一些库->搜索目录:

这些库足以运行以下简单的示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #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; } |
,结果如下:
几天前,我向gtk的一位维护者发送了一封电子邮件,以寻求vs 2017的帮助,这是一封信。之后,我选择在Windows
上使用gtk 2.0
这是我的
我安装了
在此文件夹
可以直接将
2017在文件夹下使用lib。像这样......
这是他发来的
首先,除非您确定,否则我建议您不要使用msys构建
那
-您不要尝试在代码中使用FILE结构
由GLib等使用
-您使用的
您正在使用的GLib版本的源tarball,因为
针对GLib构建的所有内容都将受到它的影响。
如果您仍然决定沿这条路线走,则需要指定
链接时的库。参见
您至少需要以下用分号分隔的
gtk-3.0.lib (or gtk-3.lib)
gdk-3.0.lib (or gdk-3.lib)
gdk_pixbuf-2.0.lib
pangocairo-1.0.lib
pango-1.0.lib
atk-1.0.lib
gio-2.0.lib
gobject-2.0.lib
gmodule-2.0.lib
glib-2.0.lib
cairo-gobject.lib
cairo.lib
intl.lib
以及可能的
内部版本包括对它们的支持。
您还需要链接到可能用于的其他任何库
您的任务。在这些库之前加上尾随
祝福加油!
好吧...在与
尽管了解这一点很重要,但是它存在一些安全问题,(此外,您还需要将其重写为gtk 2.0)
但是,如果您主要使用linux,并且只想在Windows上运行,我建议您对gtk 2.x使用旧的
例如
https://download.gnome.org/binaries/win32/gtk /2.24/gtk -bundle_2.24.10-20120208_win32.zip.mirrorlist
如果您正在寻找除了Msys2之外还提供与MSVC兼容的最新GTK3内容的项目,则应检出gvsbuild和Microsoft的vcpkg。
在引擎盖下,前者使用python,而后者使用cmake。