问题
I've been trying to embed lua in a c++ application but to no avail since the compiler complains about "lua_open".I'm using Lua 5.2.
I found alot of articles claiming that lua_open() was replaced in the fifth version but none of them mentioned with what.
Here's the code I am trying to compile
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:
Indeed, the lua_open
function is not mentioned in the lua 5.2 reference manual
A lua_State
is constructed with lua_newstate
, and you can use luaL_newstate
from lauxlib.h
A faster way to get the answers to such question is to look into the Lua 5.2 source code (which I just did).
来源:https://stackoverflow.com/questions/8552560/embedding-lua-in-c