C++ 重写静态类函数的默认SWIG名称
我有几个类,我正在使用swig包装一个嵌入式Lua脚本。我们已经定义了我们想要函数调用的样子C++ 重写静态类函数的默认SWIG名称,c++,lua,swig,C++,Lua,Swig,我有几个类,我正在使用swig包装一个嵌入式Lua脚本。我们已经定义了我们想要函数调用的样子 display.writeLine("Hello") 问题是SWIG似乎没有定义如何生成库名称的选项。C++类看起来像这样。 class Display { public: static void writeLine(char *); } 我可以很容易地让SWIG包装这个函数,它总是这样显示 显示写入线() 因此,除了使用自定义名称空间,我还必须 display.Display_writeL
display.writeLine("Hello")
问题是SWIG似乎没有定义如何生成库名称的选项。C++类看起来像这样。
class Display
{
public:
static void writeLine(char *);
}
我可以很容易地让SWIG包装这个函数,它总是这样显示
显示写入线()
因此,除了使用自定义名称空间,我还必须
display.Display_writeLine()
这不是我想要的。我尝试过重命名规则,但似乎什么都不起作用。现在我有一个外部C函数,然后调用我的静态函数,但这是一个额外的调用,我不需要。看起来应该很简单…您可以轻松为您的函数创建一个快捷方式,该快捷方式执行相同的函数代码,并在开始时加载文件:
display = {}
function display.writeline(str)
display.Display_writeLine(str)
end
是的,我现在基本上是在做类似的事情,但我认为可能有一个更干净的解决方案