1

我有这种情况。在我继续我的问题之前,请查看下面的代码(我无法在标题中正确描述)

我的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上,我不知所措。如果有人有任何建议,将不胜感激。

4

0 回答 0