私はluaをc ++アプリケーションに埋め込もうとしていますが、コンパイラーが「lua_open」について文句を言うので役に立ちません。私はLua5.2を使用しています。
Lua_open()が5番目のバージョンで置き換えられたと主張する記事をたくさん見つけましたが、どれも何について言及していませんでした。
これが私がコンパイルしようとしているコードです
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_open
関数は lua 5.2リファレンスマニュアル には記載されていません
lua_State
はlua_newstate
で構成され、luaL_newstate
からlauxlib.h
を使用できます。
このような質問に対する答えを得るより速い方法は、Lua 5.2ソースコードを調べることです(私がやったばかりです)。