Olá a todos,
Estou alterando o módulo LuaPlayer para que ele reconheça algumas funções em C++, fazendo com que uma aplicação NCL/Lua possa realizar chamadas para estas funções.
Consigo até registrar as funções em C++ no LuaState utilizando o comando "lua_register(lua_state, nome_simbolo, funcao_em_c++)", no entanto, quando o Lua em nível de aplicação (apresentação NCL) tenta invocar a minha função, o Lua retorna um erro indicando que a função não existe no lua state (nil value):
PANIC: unprotected error in call to Lua API (/home/tiago/Desktop/exemplos/exemplo_01/teste.lua:2: attempt to call global 'lua_teste' (a nil value))
Minha função em C++ é bem simples e foi declarada da seguinte maneira dentro da classe do LuaPlayer:
LUALIB_API int lua_teste(lua_State* L)
{
cout << "verificando integração Lua/C++" << endl;
return 1;
}
Já procurei em vários lugares e até agora não consegui encontrar uma maneira correta de registrar minhas funções no lua_State. Alguém já teve algum problema parecido?
Autor: Tiago Pomponet
33 comentários