Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 重写静态类函数的默认SWIG名称_C++_Lua_Swig - Fatal编程技术网

C++ 重写静态类函数的默认SWIG名称

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

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

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

是的,我现在基本上是在做类似的事情,但我认为可能有一个更干净的解决方案