2017-01-16 8 views
0

저는 Vala에 Gtk.Menu을 사용하는 Gtk 프로그램을 작성하고 있습니다.
마우스 오른쪽 버튼을 클릭했을 때 메뉴를 표시하려면 Gtk.Menu.popup_at_pointer()을 사용해야합니다.누락 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 

나는이 방법을 사용할 수 있도록 어떻게해야합니까?

+3

[documentation] (https://developer.gnome.org/gtk3/stable/GtkMenu.html#gtk-menu-popup-at-pointer)에 따르면이 함수는 3.22에서 소개되었습니다. on 3.18.9). –

답변

0

GTK + 버전이 너무 오래되었습니다.

기능에 대한 GTK + 문서를 보면 GTK + 3.22 : https://developer.gnome.org/gtk3/stable/GtkMenu.html#gtk-menu-popup-at-pointer에 도입 된 것을 볼 수 있습니다. 단 3.18 만 설치되어 있습니다.

또한이 메서드는 불안정한 것으로 선언되기 때문에 나중에 앱이 중단되는 방식으로 변경 될 수 있으므로 대체 솔루션을 찾는 것이 더 나을 것임을 의미합니다.