すでに見出しで述べたように、修正できないように見えるコンパイル エラーが発生します。
error: redefinition of 'tinygecko_notebook_get_type'
note: previous definition of 'tinygecko_notebook_get_type' was here
エラーがこの行を指している場所(このコード スニペットの最初):
GType
tinygecko_notebook_get_type (void)
{
static GType type = 0;
if (type == 0) {
static const GTypeInfo info = {
sizeof (TinygeckoNotebookClass), /* size of class struct */
NULL, /* base_init */
NULL, /* base_finalize */
(GClassInitFunc)tinygecko_notebook_class_init, /* class_init */
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (TinygeckoNotebook),
0, /* n_preallocs */
(GInstanceInitFunc)tinygecko_notebook_init /* instance_init */
};
type = g_type_register_static (GTK_TYPE_NOTEBOOK, "TinygeckoNotebook", &info, 0);
}
return type;
}
ノートの行はタイプ設定を指しています
G_DEFINE_TYPE (TinygeckoNotebook, tinygecko_notebook, GTK_TYPE_NOTEBOOK);
両方のスニペットは.c ファイル内にあります (メモ行はエラー行の上にあります)。
助けていただければ幸いです..私は混乱しています。その gtk+ マクロが、独自の gobject ベースのクラス初期化子とファイナライザー (存在する場合) (この場合は GtkNotebook に基づく) 用にセットアップする必要がある関数を再定義する必要があるのはなぜですか。