2017-01-16 2 views
0

私はValaにGtk.Menuを使用するGtkプログラムを書いています。
マウスの右ボタンをクリックしたときにメニューを表示するには、Gtk.Menu.popup_at_pointer()を使用する必要があります。 (--pkg gtk+-3.0で)コンパイルする場合ありませんgtk_menu_popup_at_pointer()

、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 

私はこの方法を使用できるようにするにはどうすればよいですか?

+3

[ドキュメント](https://developer.gnome.org/gtk3/stable/GtkMenu.html#gtk-menu-popup-at-pointer)によると、この関数は3.22で導入されました3.18.9について)。 –

答えて

0

ご使用のGTK +のバージョンが古すぎます。

この関数のGTK +ドキュメントを見ると、GTK + 3.22:https://developer.gnome.org/gtk3/stable/GtkMenu.html#gtk-menu-popup-at-pointerで導入されたことがわかりますが、3.18しかインストールされていません。

また、メソッドが不安定であると宣言されていることに注意してください。将来的にはアプリケーションを壊すように変更される可能性があるため、代わりに今のところ代替ソリューションを見つける方が良いでしょう。