缺少 gtk_menu_popup_at_pointer()
Missing gtk_menu_popup_at_pointer()
我正在使用 Gtk.Menu
在 Vala 中编写 Gtk 程序。
我需要使用 Gtk.Menu.popup_at_pointer()
在单击鼠标右键时显示菜单。
编译时(使用 --pkg gtk+-3.0
),GCC 报错:
warning: implicit declaration of function ‘gtk_menu_popup_at_pointer’ [-Wimplicit-function-declaration]
该方法存在于 /usr/share/vala-0.34/vapi/gtk+-3.0.vapi
中,但在 /usr/include/gtk-3.0/gtk/gtkmenu.h
中缺失。
以下是我系统上相关软件包的版本:
$ dpkg -s libgtk-3-dev | grep '^Version:'
Version: 3.18.9-1ubuntu3.1
$ dpkg -s valac | grep '^Version:'
Version: 0.34.4-0ubuntu1~16.04~valateam1
$ dpkg -s libglib2.0-0 | grep '^Version:'
Version: 2.48.2-0elementary0.4.1
我应该怎么做才能使用这个方法?
您的 GTK+ 版本太旧。
如果您查看该函数的 GTK+ 文档,您会发现它是在 GTK+ 3.22 中引入的:https://developer.gnome.org/gtk3/stable/GtkMenu.html#gtk-menu-popup-at-pointer,而您只安装了 3.18。
另请注意,该方法也被声明为不稳定的,这意味着将来它可能会以破坏您的应用程序的方式发生变化,因此您现在最好还是找到替代解决方案。
我正在使用 Gtk.Menu
在 Vala 中编写 Gtk 程序。
我需要使用 Gtk.Menu.popup_at_pointer()
在单击鼠标右键时显示菜单。
编译时(使用 --pkg gtk+-3.0
),GCC 报错:
warning: implicit declaration of function ‘gtk_menu_popup_at_pointer’ [-Wimplicit-function-declaration]
该方法存在于 /usr/share/vala-0.34/vapi/gtk+-3.0.vapi
中,但在 /usr/include/gtk-3.0/gtk/gtkmenu.h
中缺失。
以下是我系统上相关软件包的版本:
$ dpkg -s libgtk-3-dev | grep '^Version:'
Version: 3.18.9-1ubuntu3.1
$ dpkg -s valac | grep '^Version:'
Version: 0.34.4-0ubuntu1~16.04~valateam1
$ dpkg -s libglib2.0-0 | grep '^Version:'
Version: 2.48.2-0elementary0.4.1
我应该怎么做才能使用这个方法?
您的 GTK+ 版本太旧。
如果您查看该函数的 GTK+ 文档,您会发现它是在 GTK+ 3.22 中引入的:https://developer.gnome.org/gtk3/stable/GtkMenu.html#gtk-menu-popup-at-pointer,而您只安装了 3.18。
另请注意,该方法也被声明为不稳定的,这意味着将来它可能会以破坏您的应用程序的方式发生变化,因此您现在最好还是找到替代解决方案。