Помогло. Скомпилил. Спасибо!
Помогите, снова проблемы.
#include <gtk/gtk.h>
#include <libgnomeui-2.0/gnome.h>
static void shutdown();
static void showhelp();
gint eventDelete(GtkWidget *widget, GdkEvent *event, gpointer data);
gint eventDestroy(GtkWidget *widget, GdkEvent *event, gpointer data);
GnomeUIInfo fileMenu[] = {
{
GNOME_APP_UI_ITEM,
N_("Exit"), N_("Close all files and exit"),
shutdown, NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_ABOUT,
0, 0, NULL
},
GNOMEUIINFO_SEPARATOR,
GNOMEUIINFO_END
};
GnomeUIInfo helpMenu[] = {
{
GNOME_APP_UI_ITEM,
N_("Help"), N_("Display help information"),
showhelp, NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_MENU_ABOUT,
0, 0, NULL
},
GNOMEUIINFO_SEPARATOR,
GNOMEUIINFO_END
};
GnomeUIInfo mainMenu[] = {
{
GNOMEUIINFO_SUBTREE(N_("File"), fileMenu),
GNOMEUIINFO_SUBTREE(N_("Help"), helpMenu),
GNOMEUIINFO_END
}
};
int main(int argc, char * argv[])
{
GtkWidget *window;
gnome_init("gnomebase", "1.0", argc, argv);
window = gnome_app_new("gnomebase", "Gnome Base");
gtk_widget_show(window);
gnome_app_create_menus(GNOME_APP(window), mainMenu);
gtk_signal_connect(GTK_OBJECT(window), "delete_event", GTK_SIGNAL_FUNC(eventDelete), NULL);
gtk_signal_connect(GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(eventDestroy), NULL);
gtk_main();
return 0;
}
static void shutdown() {
gtk_main_quit();
}
static void showhelp() {
g_print("Show the help window\n");
}
gint eventDelete(GtkWidget *widget, GdkEvent *event, gpointer data) {
return FALSE;
}
gint eventDestroy(GtkWidget *widget, GdkEvent *event, gpointer data) {
shutdown();
return 0;
}
gcc gnomewinmenu.c - o gnomewinmenu `pkg-config --cflags --libs libgnome-2.0 libgnomeui-2.0 libgnomecanvas-2.0`
Ошибка сегментирования.
Меня это сегментирование запарило уже. Что не так? Как запустить?