天天看点

gtk+2.0中GtkObject结构中没有klass成员的解决办法

gtk+2.0中一些较老的程序中会有如下的代码:

但是编译时会出现如下错误:

使用编译的库是gtk+2.0,在源代码开头加上定义#define gtk_enable_broken也不行。

打开gtkobject.h头文件,发现其中有几个宏:

看到最后一个了吗?将最开始的代码修改如下即可:

可能是较新的gtk中将结构的klass元素隐藏起来了,我们不可以直接引用klass结构元素,使用宏间接访问吧。