指针()处缺少gtk_菜单_弹出窗口_

指针()处缺少gtk_菜单_弹出窗口_,gtk,glib,vala,vapi,Gtk,Glib,Vala,Vapi,我正在用Vala编写一个Gtk程序,它使用Gtk.Menu 我需要使用鼠标右键单击时显示菜单 编译时(使用--pkg gtk+-3.0),GCC给我一个错误: 警告:函数的隐式声明“gtk\u菜单\u弹出窗口”[-Wimplicit函数声明] 该方法存在于/usr/share/vala-0.34/vapi/gtk+-3.0.vapi中,但在/usr/include/gtk-3.0/gtk/gtkmenu.h中缺失 以下是我的系统上相关软件包的版本: $ dpkg -s libgtk-3-dev

我正在用Vala编写一个Gtk程序,它使用
Gtk.Menu

我需要使用鼠标右键单击时显示菜单

编译时(使用
--pkg gtk+-3.0
),GCC给我一个错误:
警告:函数的隐式声明“gtk\u菜单\u弹出窗口”[-Wimplicit函数声明]

该方法存在于
/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:中引入的,而您只安装了3.18

还请注意,该方法也被声明为不稳定,这意味着在将来它可能会以破坏应用程序的方式更改,因此您现在最好还是找到一个替代解决方案。

根据,该函数是在3.22中引入的(您使用的是3.18.9)。