天天看點

gtk+2.0中GtkObject結構中沒有klass成員的解決辦法

gtk+2.0中一些較老的程式中會有如下的代碼:

但是編譯時會出現如下錯誤:

使用編譯的庫是gtk+2.0,在源代碼開頭加上定義#define gtk_enable_broken也不行。

打開gtkobject.h頭檔案,發現其中有幾個宏:

看到最後一個了嗎?将最開始的代碼修改如下即可:

可能是較新的gtk中将結構的klass元素隐藏起來了,我們不可以直接引用klass結構元素,使用宏間接通路吧。