初学lua --lua嵌入c++的一个问题(初始化lua出错,版本问题)

初学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版本问题:我使用的luaLua 5.1.3.而示例所使用的lua5.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的非常好的网站,有空一定要多去看看.