覆盖静态类函数的默认SWIG名称

时间:2013-08-18 14:52:48

标签: c++ lua swig

我有几个类,我使用swig来包装嵌入式Lua脚本。我们已经定义了我们想要的函数调用。

display.writeLine("Hello")

问题是SWIG似乎没有选项来定义它如何生成库名。 c ++类看起来像这样。

class Display
{
public:
    static void writeLine(char *);
}

我可以很容易地获得SWIG来包装这个功能,它只是总是这样显示出来     Display_writeLine()

因此,我不得不使用我的自定义命名空间,而是

display.Display_writeLine()

这不是我想要的。我尝试过重命名规则,但似乎没有任何效果。现在我有一个extern C函数,然后调用我的静态函数,但它是一个我不需要的额外调用。好像它应该是简单的......

1 个答案:

答案 0 :(得分:2)

您可以轻松地为功能创建与功能代码相同的快捷方式,并在开始时加载文件:

display = {}

function display.writeline(str)
      display.Display_writeLine(str)
end