web-dev-qa-db-ja.com

LuaをC ++に埋め込む

私は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;
}
25
NT_SYSTEM

確かに、lua_open関数は lua 5.2リファレンスマニュアル には記載されていません

lua_Statelua_newstateで構成され、luaL_newstateからlauxlib.hを使用できます。

このような質問に対する答えを得るより速い方法は、Lua 5.2ソースコードを調べることです(私がやったばかりです)。

35