免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4184 | 回复: 2
打印 上一主题 下一主题

GTK初学者疑问求教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-04 17:53 |只看该作者 |倒序浏览
按着Peter Wright的GTK+/GNOME程序设计这本书上输入程序,
第四章的windowposition这个例程,编译没问题,但是生成的程序不能
正常运行,产生了大量的Gtk-WARNING和Gtk-CRITICAL。但是按着
书输入的前两章的程序编译运行都没有问题,笨人是初学者,刚入门,一
时不知从何着手,还请前辈高人指点一二。
      笨人的系统是FreeBSD 7.2R。
      源程序如下:
#include <gtk12/gtk/gtk.h>

void CloseTheApp(GtkWidget *Window,gpointer data)
{
    gtk_main_quit();
}

void BuildAWindow(const gchar *title,GtkWindowPosition position)
{
    GtkWidget *window;
    window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_position(GTK_WINDOW(window),position);
    gtk_window_set_default_size(GTK_WINDOW(window),320,200);
    gtk_window_set_title(GTK_WINDOW(window),title);
     gtk_signal_connect(GTK_OBJECT(window),"destroy",GTK_SIGNAL_FUNC(CloseTheApp),NULL);
     gtk_widget_show(window);
}

gint main(gint argc,gchar *argv[])
{
    BuildAWindow("Normal",GTK_WIN_POS_NONE);
    BuildAWindow("Center",GTK_WIN_POS_CENTER);
    BuildAWindow("Mouse",GTK_WIN_POS_MOUSE);
     gtk_main();
    return 0;
}

产生的错误如下:
GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

GLib-CRITICAL **: file ghash.c: line 152 (g_hash_table_insert): assertion `hash_table != NULL' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

GLib-CRITICAL **: file ghash.c: line 152 (g_hash_table_insert): assertion `hash_table != NULL' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

GLib-CRITICAL **: file ghash.c: line 152 (g_hash_table_insert): assertion `hash_table != NULL' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtktypeutils.c: line 337 (gtk_type_class): assertion `node != NULL' failed.

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkContainer::border_width" is not in the `(null)' ancestry

Gtk-CRITICAL **: file gtkobject.c: line 939 (gtk_object_add_arg_type): assertion `arg_type > GTK_TYPE_NONE' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtkobject.c: line 939 (gtk_object_add_arg_type): assertion `arg_type > GTK_TYPE_NONE' failed.

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkContainer::reallocate_redraws" is not in the `(null)' ancestry

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtksignal.c: line 433 (gtk_signal_lookup): assertion `gtk_type_is_a (object_type, GTK_TYPE_OBJECT)' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtksignal.c: line 433 (gtk_signal_lookup): assertion `gtk_type_is_a (object_type, GTK_TYPE_OBJECT)' failed.

Gtk-CRITICAL **: file gtksignal.c: line 433 (gtk_signal_lookup): assertion `gtk_type_is_a (object_type, GTK_TYPE_OBJECT)' failed.

Gtk-CRITICAL **: file gtksignal.c: line 433 (gtk_signal_lookup): assertion `gtk_type_is_a (object_type, GTK_TYPE_OBJECT)' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtksignal.c: line 433 (gtk_signal_lookup): assertion `gtk_type_is_a (object_type, GTK_TYPE_OBJECT)' failed.

Gtk-CRITICAL **: file gtkobject.c: line 357 (gtk_object_class_add_signals): assertion `GTK_IS_OBJECT_CLASS (class)' failed.

Gtk-CRITICAL **: file gtkobject.c: line 939 (gtk_object_add_arg_type): assertion `arg_type > GTK_TYPE_NONE' failed.

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkWindow::title" is not in the `(null)' ancestry

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkWindow::auto_shrink" is not in the `(null)' ancestry

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkWindow::allow_shrink" is not in the `(null)' ancestry

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkWindow::allow_grow" is not in the `(null)' ancestry

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkWindow::modal" is not in the `(null)' ancestry

Gtk-CRITICAL **: file gtkobject.c: line 939 (gtk_object_add_arg_type): assertion `arg_type > GTK_TYPE_NONE' failed.

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkWindow::default_width" is not in the `(null)' ancestry

Gtk-WARNING **: gtk_arg_type_new(): argument class in "GtkWindow::default_height" is not in the `(null)' ancestry

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtksignal.c: line 433 (gtk_signal_lookup): assertion `gtk_type_is_a (object_type, GTK_TYPE_OBJECT)' failed.

Gtk-CRITICAL **: file gtkobject.c: line 357 (gtk_object_class_add_signals): assertion `GTK_IS_OBJECT_CLASS (class)' failed.

Gtk-WARNING **: invalid cast from `GtkBin' to `(unknown)'

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtkwidget.c: line 2285 (gtk_widget_queue_resize): assertion `GTK_IS_WIDGET (widget)' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtkwidget.c: line 4871 (gtk_widget_ref): assertion `GTK_IS_WIDGET (widget)' failed.

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-CRITICAL **: file gtkobject.c: line 457 (gtk_object_sink): assertion `GTK_IS_OBJECT (object)' failed.

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-CRITICAL **: file gtkobject.c: line 1080 (gtk_object_get_data): assertion `GTK_IS_OBJECT (object)' failed.

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-CRITICAL **: file gtkobject.c: line 1059 (gtk_object_set_data_full): assertion `GTK_IS_OBJECT (object)' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtkwidget.c: line 2285 (gtk_widget_queue_resize): assertion `GTK_IS_WIDGET (widget)' failed.

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-CRITICAL **: file gtksignal.c: line 725 (gtk_signal_connect): assertion `GTK_IS_OBJECT (object)' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtkwidget.c: line 1428 (gtk_widget_show): assertion `GTK_IS_WIDGET (widget)' failed.

Gtk-WARNING **: invalid cast from `GtkBin' to `(unknown)'

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtkwidget.c: line 2285 (gtk_widget_queue_resize): assertion `GTK_IS_WIDGET (widget)' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtkwidget.c: line 4871 (gtk_widget_ref): assertion `GTK_IS_WIDGET (widget)' failed.

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-CRITICAL **: file gtkobject.c: line 457 (gtk_object_sink): assertion `GTK_IS_OBJECT (object)' failed.

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-CRITICAL **: file gtkobject.c: line 1080 (gtk_object_get_data): assertion `GTK_IS_OBJECT (object)' failed.

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-CRITICAL **: file gtkobject.c: line 1059 (gtk_object_set_data_full): assertion `GTK_IS_OBJECT (object)' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtkwidget.c: line 2285 (gtk_widget_queue_resize): assertion `GTK_IS_WIDGET (widget)' failed.

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-CRITICAL **: file gtksignal.c: line 725 (gtk_signal_connect): assertion `GTK_IS_OBJECT (object)' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtkwidget.c: line 1428 (gtk_widget_show): assertion `GTK_IS_WIDGET (widget)' failed.

Gtk-WARNING **: invalid cast from `GtkBin' to `(unknown)'

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtkwidget.c: line 2285 (gtk_widget_queue_resize): assertion `GTK_IS_WIDGET (widget)' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtkwidget.c: line 4871 (gtk_widget_ref): assertion `GTK_IS_WIDGET (widget)' failed.

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-CRITICAL **: file gtkobject.c: line 457 (gtk_object_sink): assertion `GTK_IS_OBJECT (object)' failed.

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-CRITICAL **: file gtkobject.c: line 1080 (gtk_object_get_data): assertion `GTK_IS_OBJECT (object)' failed.

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-CRITICAL **: file gtkobject.c: line 1059 (gtk_object_set_data_full): assertion `GTK_IS_OBJECT (object)' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtkwidget.c: line 2285 (gtk_widget_queue_resize): assertion `GTK_IS_WIDGET (widget)' failed.

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-WARNING **: invalid cast from `GtkWindow' to `(unknown)'

Gtk-CRITICAL **: file gtksignal.c: line 725 (gtk_signal_connect): assertion `GTK_IS_OBJECT (object)' failed.

GLib-CRITICAL **: file ghash.c: line 138 (g_hash_table_lookup): assertion `hash_table != NULL' failed.

Gtk-WARNING **: gtk_type_create(): unknown parent type `21'.

Gtk-CRITICAL **: file gtkwidget.c: line 1428 (gtk_widget_show): assertion `GTK_IS_WIDGET (widget)' failed.

论坛徽章:
0
2 [报告]
发表于 2009-12-06 04:24 |只看该作者

找到问题了

自己真是笨人啊
漏打了一行关键的
gtk_init(&argc,&argv)…………
真是笨啊,绿下自己

论坛徽章:
0
3 [报告]
发表于 2009-12-08 13:10 |只看该作者
汗!!!楼主这是干嘛!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP