我有这种情况。在我继续我的问题之前,请查看下面的代码(我无法在标题中正确描述)
我的lua初始化代码:
luaState = luaL_newstate();
luaL_openlibs(luaState);
RegisterFunctions(luaState);
我的lua加载代码:
try {
luaL_dofile(luaState, scriptPath.c_str());
}
catch (...) {
std::cout << "LUA ERROR: Could not load file " << std::endl;
}
loaded_.push_back(filename);
我定义 C 函数的部分:
int testFunction(lua_State* L)
{
std::cout << "Test" << std::endl;
return 0;
}
void RegisterFunctions(lua_State* L)
{
lua_register(L, "testFunction", testFunction);
}
我的 Lua 脚本:
test = {};
function test:testCallback(me)
testFunction();
end
这些代码能够在 Android 中正确构建和运行。但是,当调用 testFunction() 时,它并没有进入我定义的 C 函数。除此以外,一切正常。我也在IOS和IOS上测试过,它也进入了testFunction。这个问题只发生在Android上,我不知所措。如果有人有任何建议,将不胜感激。