我有几个类,我正在使用 swig 来包装嵌入式 Lua 脚本。我们已经定义了我们想要的函数调用的样子。
display.writeLine("Hello")
问题是 SWIG 似乎没有选项来定义它如何生成库名称。 C++ 类看起来像这样。
class Display
{
public:
static void writeLine(char *);
}
我可以轻松地让 SWIG 包装这个函数,只是总是像这样显示 Display_writeLine()
因此,我必须这样做,而不是仅仅使用我的自定义命名空间
display.Display_writeLine()
这不是我想要的。我尝试过尝试重命名规则,但似乎没有任何效果。现在我有一个 extern C 函数,然后调用我的静态函数,但这是我不需要的额外调用。看起来应该很简单......
最佳答案
您可以轻松地为您的函数创建一个快捷方式,该函数执行相同的函数代码并在启动时加载文件:
display = {}
function display.writeline(str)
display.Display_writeLine(str)
end
关于c++ - 覆盖静态类函数的默认 SWIG 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18300339/