- 论坛徽章:
- 0
|
#include <gtk/gtk.h>
#include <glade/glade-xml.h>
#include <glade/glade-init.h>
int main(int argc, char **argv)
{
GladeXML *ui;
gtk_init(&argc, &argv);
ui = glade_xml_new("g:\\first.glade", "window1", NULL);
if (!ui)
return -1;
glade_xml_signal_autoconnect(ui);
gtk_main();
return 0;
} |
环境 是 windows xp + vc 6. Extra Link : glib-2.0.lib intl.lib libglade-2.0.lib gtk-win32-2.0.lib gobject-2.0.lib xml2.lib
以上代码, 编译链接都正常, 运行会出错. 单步调试, 发现 死在 glade_xml_new.
修改一下:
ui = glade_xml_new("g:\\first.glade", NULL, NULL); |
运行 报 :
libglade-CRITCAL **: glade_xml_relative_file: assertion `filename != NULL` failed.
不知道何故? 该程序在 linux 是没有问题的。 很多示例差不多也是这个模式。
不知道 glade_xml_new 的各个参数怎么使用? 第一个参数如果不使用绝对路径,它会去哪找这个 xml 文件? 用绝对路径有什么问题? gtk 和 libglade 也是刚接触,源代码也还没开始看。
如果在运行前加句 glade_init(); 会有另外的问题, 参考手册上说这句不需要加, 这里也就不列了。
谢谢讨论。 |
|