GtkLabel分段故障

GtkLabel分段故障,gtk,segmentation-fault,Gtk,Segmentation Fault,我想使用标记,但它似乎不起作用。没有它,一切都很好 label_markup = g_object_new(GTK_TYPE_LABEL, "wrap", TRUE, "use-markup", TRUE, "label", "<span font_desc=\"Courier New Bold 16\">Courier-span>"); label_markup=g_object_new(GTK_TYPE_label,“wrap”,TRUE,“use markup”,TRU

我想使用标记,但它似乎不起作用。没有它,一切都很好

label_markup = g_object_new(GTK_TYPE_LABEL, "wrap", TRUE, "use-markup", TRUE, "label", "<span font_desc=\"Courier New Bold 16\">Courier-span>");
label_markup=g_object_new(GTK_TYPE_label,“wrap”,TRUE,“use markup”,TRUE,“label”,“Courier span>);
这可能是由于安装了错误的开发包造成的吗?我正在学习2.0教程,但意外地安装了libgtk3.0-dev,然后更新了我的存储库。现在它已经被移除了



为阅读本文的其他人编辑:该示例来自《官方GNOME 2开发人员指南》一书,可在第114-115页找到-我刚刚缩短了它。问题是编译器并没有抱怨,您只是无法在不知道原因的情况下运行程序。

您需要在
g\u object\u new()
调用结束时使用
NULL
。没有它,就无法知道传递了多少个参数,从而导致分段错误。

就是这样!我试过了,效果很好。你是我的英雄。。非常感谢你。这个bug实际上存在于这本书的源代码中,这是一个卑鄙的bug,因为编译器一点也不抱怨..那本书已经相当老了。我建议使用一本更新的书来学习Gnome编程-例如,developer.Gnome.org上的10分钟教程。事实上,编译器不会抱怨这是一个bug-
g\u object\u new()
应该使用属性
g\u GNUC\u NULL\u TERMINATED
来声明。不是,我看了看:你想在bugzilla.gnome.org上报告吗?