在C ++中嵌入Lua

时间:2011-12-18 15:02:48

标签: c++ lua undefined embedding

我一直在尝试将lua嵌入到c ++应用程序中但由于编译器抱怨“lua_open”而无济于事。我正在使用Lua 5.2。

我发现很多文章声称lua_open()在第五个版本中被替换,但没有一个用什么提及。

这是我正在尝试编译的代码

extern "C" {
#include "../lua/lua.h"
#include "../lua/lualib.h"
#include "../lua/lauxlib.h"
}

int main()
{
    int s=0;

    lua_State *L = lua_open();
    // load the libs
    luaL_openlibs(L);
    luaL_dofile(L,"example.lua");
    printf("\nDone!\n");
    lua_close(L);

    return 0;
}

1 个答案:

答案 0 :(得分:35)

实际上,lua 5.2 reference manual

中未提及lua_open功能

使用lua_State构建lua_newstate,您可以使用luaL_newstate中的lauxlib.h

获得此类问题答案的更快方法是查看Lua 5.2源代码(我刚刚做过)。