Подтвердить что ты не робот

Вложение Lua в С++

Я пытаюсь вставить lua в приложение С++, но безрезультатно, потому что компилятор жалуется на "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;
}
4b9b3361

Ответ 1

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

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

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