安装 gtkmm 后缺少 <gtkmm/eventcontrollerkey.h> 头文件

时间:2021-01-23 03:03:25

标签: c++ gtk gtkmm

我已经使用 gtkmm 一段时间了,没有遇到任何问题。我最近想开始使用 Gtk::EventControllerKey 来处理一些事件处理好东西,但是 make 告诉我它找不到那个类。我查看了文档,它说它应该包含在 <gtkmm/eventcontrollerkey.h> 中,它应该包含在我的 <gtkmm/gtkmm.h> 中,但我还是尝试了。

当找不到那个头文件时,我检查了包含文件夹中的 gtkmm,我只能找到 <gtkmm/eventcontroller.h>。环顾四周后,EventControllerKey 类绝对是 gtkmm 的一部分,所以我检查了 Github 页面,你瞧,标题在那里。

我正在运行 Ubuntu 20-something 并且我安装了 libgtkmm 版本 3.24.2-1build1

我不明白为什么我没有这个。任何建议将不胜感激。

gtkmm Github

GTK EventControllerKey

gtkmm EventControllerKey

1 个答案:

答案 0 :(得分:0)

看来你的 Gtkmm 版本太旧了。您提到您安装了 3.24.2 版。过快地查看 Gtkmm official repository,可以得出结论,标题 eventcontrollerkey.h 只是存在。但是请记住,此视图是针对分支 master 的,它是 3.24.2 之前的。

在您的情况下,如果我们选择版本 3.24.2 的存储库标签,我们 得到 this view, 其中标题确实不可用。

事实上,我们必须走到最远的 version 3.95.1 才能看到它(在 3.93.0 中,这是最接近的可用标记,它不存在)。根据 documentation for Gtk::EventControllerKey 它指出它 (Gtk::EventControllerKey) 从 3.94 版开始可用。

令人困惑的是,在 Gtk 中,GtkEventControllerKey 从 3.24 开始可用,如描述部分下的 here 所述。在这种情况下,Gtkmm(有点)落后于 Gtk。

总而言之,如果你想使用它,你将不得不更新到 3.94 或更高版本。

相关问题