Я использую малиновый pi с GTK +, означает ARM + Debian + GTK +. Но даже пример сайта GTK всегда терпит неудачу в моей среде. как:gtk_init() не удалось неожиданно
#include <gtk/gtk.h>
int main(int argc,
char *argv[])
{
GtkWidget *window;
//gtk_init (&argc, &argv);
gtk_init_check(&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_show (window);
gtk_main();
return(0);
}
Я составил это с
gcc -g gtktest.cpp -o base `pkg-config gtk+-2.0 --cflags --libs`
и успешным. При работе с ним я получил:
(base:12760): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(base:12760): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
(base:12760): Gtk-WARNING **: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
(base:12760): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed
(base:12760): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed
(base:12760): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed
(base:12760): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed
(base:12760): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed
(base:12760): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed
Segmentation fault
Только с использованием gtk_init() также вызывается ошибка. Я проверил переменную DISPLAY и попытался установить ее на < мой IP>: 0.0, но никакого эффекта. Я сомневаюсь, что это может быть проблемой, когда GTK не может получить ресурс отображения, но я не нашел способа решить эту проблему.
FYI Я использую шпатлевку SSH для малиныPi.
Эти ошибки вызваны ошибкой gtk_init. вы должны проверить возвращаемое значение gtk_check_init и не продолжать дальше. Не то, чтобы это решило вашу проблему. Работают ли другие приложения gtk? – iain
Какое приложение gtk можно использовать для тестирования? Например? – luckyee
Вы используете сервер XWindow на вашем компьютере? (сервер - это дисплей). – gpoo