微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决安装 gtkmm 后缺少 <gtkmm/eventcontrollerkey.h> 头文件

我已经使用 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

解决方法

看来你的 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 或更高版本。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。