G_DECLARE_FINAL_TYPE() 抛出编译器错误
G_DECLARE_FINAL_TYPE() throws compiler error
我用 C 和 GTK3 写了一个程序。我正在使用 Arch Linux 并且一切正常。但是,我还必须在相当旧的 Ubuntu 机器上使用我的程序。
- gtk+-3.0 3.10.8
- 海湾合作委员会 4.8.4
使用此设置程序无法编译
在自定义 GTK-Widget 的头文件中,我有:
#ifndef __LAYER_ELEMENT_H__
#define __LAYER_ELEMENT_H__
#include <gtk/gtk.h>
G_BEGIN_DECLS
G_DECLARE_FINAL_TYPE(LayerElement, layer_element, LAYER, ELEMENT, GtkListBoxRow)
/* Rest of file comes here */
编译时抛出错误信息:
在 GtkListBoxRow 之前的 G_DECLARE_FINAL_TYPE 宏行中应为 ')'。
我该如何解决这个问题?
G_DECLARE_FINAL_TYPE
已在 2.44 版中添加到 GLib(请参阅 the documentation)。如果你想在旧版本的 Ubuntu 上编译,你要么必须为该版本的 Ubuntu 获取 GLib 2.44(或更高版本)的向后移植,并针对它进行编译;或者您将不得不修改您的代码以不使用任何在 2.40 版本之后添加的 GLib API。
我用 C 和 GTK3 写了一个程序。我正在使用 Arch Linux 并且一切正常。但是,我还必须在相当旧的 Ubuntu 机器上使用我的程序。
- gtk+-3.0 3.10.8
- 海湾合作委员会 4.8.4
使用此设置程序无法编译 在自定义 GTK-Widget 的头文件中,我有:
#ifndef __LAYER_ELEMENT_H__
#define __LAYER_ELEMENT_H__
#include <gtk/gtk.h>
G_BEGIN_DECLS
G_DECLARE_FINAL_TYPE(LayerElement, layer_element, LAYER, ELEMENT, GtkListBoxRow)
/* Rest of file comes here */
编译时抛出错误信息: 在 GtkListBoxRow 之前的 G_DECLARE_FINAL_TYPE 宏行中应为 ')'。
我该如何解决这个问题?
G_DECLARE_FINAL_TYPE
已在 2.44 版中添加到 GLib(请参阅 the documentation)。如果你想在旧版本的 Ubuntu 上编译,你要么必须为该版本的 Ubuntu 获取 GLib 2.44(或更高版本)的向后移植,并针对它进行编译;或者您将不得不修改您的代码以不使用任何在 2.40 版本之后添加的 GLib API。