初学lua.从http://lua-users.org/wiki/CallingLuaFromCpp上下载了一个lua嵌入C++的代码.编译并运行.发现有错误:
PANIC: unprotected error in call to Lua API (no calling environment)
int main (int argc, char *argv[])
{
lua_State *L = lua_open();
luaopen_base(L);
luaopen_table(L);
luaopen_io(L);//运行到此处是报错
luaopen_string(L);
luaopen_math(L);
luaopen_debug(L);
查阅网上资料后,发现是lua版本问题:我使用的lua为Lu a 5.1.3 .而示例所使用的lua为5.0.根据网络上的资料将初始化代码修改为如下内容,则问题得以解决:
int main (int argc, char *argv[])
{
lua_State *L = lua_open();
luaL_openlibs(L);
...
如下是我参考的网页http://lists.luaforge.net/pipermail/iup-users/2007-December/000183.html
http://lua-users.org/ 是一个学习lua的非常好的网站,有空一定要多去看看.
本文记录了从http://lua-users.org/wiki/CallingLuaFromCpp下载的Lua嵌入C++示例代码,在编译运行时遇到的问题及解决过程。主要错误为“PANIC: unprotected error in call to Lua API (no calling environment)”,通过调整Lua版本和初始化代码成功解决了该问题。
6170

被折叠的 条评论
为什么被折叠?



