Luabind和类实例

我正在开发一个数据驱动的游戏引擎,想集成 Lua。

我似乎在使用 luabind 将当前组件类的实例绑定到 lua 元表时遇到了问题。

以下是有问题的代码:

void BaseScriptComponent::createScriptObject()
{
    LuaStateManager* pStateManager = LuaStateManager::get();
    assert(pStateManager != nullptr);
    assert(luabind::type(m_scriptObject) != LUA_TNIL);

    // Get meta table
    luabind::object metaTableObject = pStateManager->getGlobalVars()[METATABLE_NAME];
    assert(luabind::type(metaTableObject) != LUA_TNIL);

    // Set __object to reference this class instance.
    // Compilation failure due to this
    metaTableObject["__object"] = this;
    // Set meta table
    luabind::setmetatable(m_scriptObject, metaTableObject);
}

编译器错误为:

undefined reference to `bool luabind::get_back_reference<BaseScriptComponent*>(lua_State*, BaseScriptComponent* const&)'

需要帮助。

点赞