Я пытаюсь перевести dll на x64 lua5.3 vs15
Действую по инструкции https://quikluacsharp.ru/qlua-c-cpp-csharp/konnektor-dll-quik-qlua-lua-c/
Перечитал все комменты, всё испробовал, но так и не решил.
Библиотеку lua я скачал, всё заменил, но не заводится она.
Т.е. я просто меняю библиотеки с 5.1 на 5.3, прописываю новую lua53.lib но всё-время вылазят ошибки:
C2079 «ls_lib» использует неопределенный struct «ls_lib»
C2078 слишком много инициализаторов
C2664 «void luaL_setfuncs(lua_State *,const luaL_Reg *,int)»: невозможно преобразовать аргумент 2 из «luaL_reg []» в «const luaL_Reg *»
Из-за чего так?
Скачивал проект LuaProba (https://smart-lab.ru/blog/605815.php), но он был для 5.1
Опять же, в нём библиотеки поменяю — и опять эти же ошибки вылазят.
//=== Регистрация реализованных в dll функций, чтобы они стали "видимы" для Lua ================================// static struct luaL_reg ls_lib[] = { { "TestFunc", forLua_TestFunc }, // из скрипта Lua эту функцию можно будет вызывать так: QluaCSharpConnector.TestFunc(); здесь можно указать любое другое название { NULL, NULL } }; //=== Регистрация названия библиотеки, видимого в скрипте Lua ==================================================// //extern "C" LUALIB_API int luaopen_connector(lua_State *L) { // luaL_openlibs(L, "connector", ls_lib, 0); // return 0; //} extern "C" LUALIB_API int luaopen_connector(lua_State *L) { lua_newtable(L); luaL_setfuncs(L, ls_lib, 0); lua_pushvalue(L, -1); lua_setglobal(L, "connector"); return 0; }
Как жить?
Авто-репост. Читать в блоге >>>