gtk 官方最新的库gtk+-2.20.0有两个bug导致编译失败,可以通过下面方法修改:
(1)在gdk.symbols 871行后面增加:
863 #if IN_HEADER(__GDK_KEYS_H__)
864 #if IN_FILE(__GDK_KEYS_DIRECTFB_C__)
865 gdk_keymap_get_direction
866 gdk_keymap_get_entries_for_keycode
867 gdk_keymap_get_entries_for_keyval
868 gdk_keymap_get_for_display
869 gdk_keymap_get_caps_lock_state
870 gdk_keymap_lookup_key
871 gdk_keymap_translate_keyboard_state
+872 gdk_keymap_map_virtual_modifiers
+873 gdk_keymap_add_virtual_modifiers
874 gdk_keyval_from_name
875 gdk_keyval_name G_GNUC_CONST
876 #endif
877 #endif
(2)在gdk/directfb/gdkkeys-directfb.c 增加上面两个函数的定义
+ 2001 gboolean
+ 2002 gdk_keymap_map_virtual_modifiers (GdkKeymap *keymap,
+ 2003 GdkModifierType *state)
+ 2004 {
+ 2005 g_warning("gdk_keymap_add_virtual_modifiers unimplemented /n");
+ 2006 return TRUE;
+ 2007 }
+ 2008 void
+ 2009 gdk_keymap_add_virtual_modifiers (GdkKeymap *keymap,
+ 2010 GdkModifierType *state)
+ 2011 {
+ 2012 g_warning("gdk_keymap_map_virtual_modifiers unimplemented /n");
+ 2013 return TRUE;
+ 2014 }