2012-09-16 31 views

回答

1

然后,我需要在Lua脚本本身内创建userdata。

不可以。您想在Lua中创建一个枚举值。你可以像在C中那样做:使用枚举器的名字。这是一个具有枚举数值的对象。然而,SWIG的Lua组件决定对此进行编组是无关紧要的;只需在您的Lua代码中使用该名称即可。

+0

好吧,但我没有定义枚举我自己。我使用lgi来访问Gtk.PositionType.RIGHT的值。它实际上是一个整数。我试图定义它,但它仍然被视为整数。我认为这是因为SWIG找不到GtkPositionType的定义,所以它认为它是一个用户数据。我不知道如何让它做正确的事情。 SWIG甚至无法理解Gtk的头部。 – ekd123

+0

好的,我自己写了.i文件中的定义。它似乎认为它是一个正确的数字..我意识到最大的问题是,SWIG无法理解GTK的头文件,甚至无法理解使用GObject编写的头文件。 – ekd123