Вынужден написать небольшую программку под офтоп.
Скачал последний glade 3 с gtk, а так же последний wxDevCpp. Создал проект и интерфейс в glade.
Параметры компилятора:
-mms-bitfields
-mwindows
-DHAVE_CONFIG_H
-I"$(GTK_HOME)/include/gtk-2.0"
-I"$(GTK_HOME)/lib/gtk-2.0/include"
-I"$(GTK_HOME)/include/atk-1.0"
-I"$(GTK_HOME)/include/pango-1.0"
-I"$(GTK_HOME)/include/glib-2.0"
-I"$(GTK_HOME)/lib/glib-2.0/include"
-I"$(GTK_HOME)/include/cairo"
-I"$(GTK_HOME)/include"
-DPACKAGE_PREFIX=\"\" -DPACKAGE_DATA_DIR=\"\" -DPACKAGE_LOCALE_DIR=\"\"
Параметры линковщика:
-L"$(GTK_HOME)/lib"
-lgtk-win32-2.0
-lgdk-win32-2.0
-latk-1.0
-lgdk_pixbuf-2.0
-lpangowin32-1.0
-lgdi32
-lpango-1.0
-lgobject-2.0
-lgmodule-2.0
-lglib-2.0
Остальные параметры в wxDevCpp по-умолчанию.
Пытаюсь вызывать callback функции, например:
G_MODULE_EXPORT gboolean
button_click(GtkWidget *widget, GdkEvent *event, gpointer user_data)
{
if(event->type == GDK_BUTTON_PRESS){
GdkEventButton *bevent = (GdkEventButton *) event;
gtk_menu_popup ((GtkMenu *)user_data, NULL, NULL, NULL, NULL, bevent->button, bevent->time);
}
return FALSE;
}
А gcc подставляет в callback функции параметры в обратном порядке (или в gtk dll они в таком порядке). Никак не пойму в чем дело и как поправить. Может можно как-то заставить gcc передавать параметры в обратном порядке?