LuaBridge 断言错误

我一直在学习如何使用luabridge从lua中访问c ++,但我遇到了一个问题,我似乎无法通过在google上搜索找到答案。

我设置了一个示例程序来运行脚本并从c ++访问lua,这很好用。但是当我尝试在全局命名空间中注册函数时,它在运行时抱怨-编译将很好。

这段代码与addFunction调用一起给我带来了以下错误

Lua: /home/linuxxon/Programming/kingdoms-online/Script/Lua/../LuaBridge/detail/Namespace.h:1080:luabridge:: Namespace&luabridge:: Namespace :: addFunction(const char *,FP)[FP = void (*)(const std :: basic_string <char>&)]:断言“(lua_type(L,(-1))== 5)”失败。 

如果没有addFunction调用,我会得到脚本预期的结果。

也许有什么明显的事情我已经错过了,因为我没有找到这样的事情吗?

非常感谢所有帮助!

点赞
用户3379534
用户3379534

问题是

luaL_openlibs(L);

在运行脚本后才调用。这个问题是我在学习教程时遇到的,我在尝试使用lua时也曾遇到过同样的问题。

在创建新的Lua状态后调用该函数,即可使一切运行得很完美。

2014-08-05 15:56:31