我一直在尝试将 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;
}
最佳答案
确实,lua 5.2 reference manual 中没有提到 lua_open
函数。
一个lua_State
是用lua_newstate
构造的,你可以使用lauxlib.h
中的luaL_newstate
获得此类问题答案的更快方法是查看 Lua 5.2 源代码(我刚刚做过)。
关于c++ - 在 C++ 中嵌入 Lua,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8552560/