Встраивание Lua в C ++ - PullRequest
       34

Встраивание Lua в C ++

25 голосов
/ 18 декабря 2011

Я пытался встроить 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 Ответ

35 голосов
/ 18 декабря 2011

Действительно, функция lua_open не упоминается в справочном руководстве lua 5.2

A lua_State построен с lua_newstate, и вы можете использовать luaL_newstate с lauxlib.h

Более быстрый способ получить ответы на такой вопрос - заглянуть в исходный код Lua 5.2 (который я только что сделал).

...