问题标签 [luabridge]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
212 浏览

c++ - 从 C++ 访问 Lua 中的表

我在尝试从 C++ 访问的 Lua 中有一个全局表。这基本上是我想要做的:

卢阿:

C++:

我收到一个错误cout,说:

错误 C2593 'operator <<' is ambiguous ConsoleApplication2" & "多个运算符 "<<" 匹配这些操作数:

但是我不认为这些错误是问题所在。

我怎样才能访问这个值?

0 投票
1 回答
494 浏览

c++ - 如何将 .addFunction 用于使用 Luabridge 返回 std:vectors 的类方法

我在 Visual Studio C++ 2012(使用 C++ v.11)中有一个这样的类:

还有一个 main 包含这样的内容:

我对任何方法都没有问题,除了getlist(). 具体来说,我在 Lua 做这样的事情时遇到了问题getlist()

使用 Visual Studio C++ 2012 进行调试我收到以下消息:

断言失败:lua_istable(L, -1),文件 c:\luabridge\detail\userdata.h,第 412 行。错误 R6010 - 已调用 abort()

我认为问题在于我正在调用一个返回复杂类型(一个对象,特别是 a std:vector)的方法,而不是像其他方法那样的简单类型,因为在 Lua 中,这会失败:

这有效:

我怎样才能解决这个问题?(请记住,我无法更改 Object 类,因为它是我们在工作中使用的类,它必须是这样的。我需要使用 luabridge 的解决方案)。

0 投票
1 回答
989 浏览

c++ - 使用 LuaBinaries 和 LuaBridge 时如何解决丢失的 Lua DLL?

我正在尝试将 Lua 嵌入 C++(并学习 Lua),从 Elias Daler 的训练轮方法开始。我正在使用 MSVC 14.0、LuaBinaries 5.3.2 - Release 1(特别是 lua-5.3.2_Win32_dllw4_lib.zip此处)和 LuaBridge 2.0。

我添加了以下附加包含目录:

C:\lua-5.3.2_Win32_dllw4_lib\include;C:\LuaBridge

以及以下附加依赖项:

C:\lua-5.3.2_Win32_dllw4_lib\liblua53.a

我正在使用以下来源(尽可能减少):

该源代码可以正常编译和链接,但应用程序本身会导致标准缺失 DLL 系统错误:

程序无法启动,因为您的计算机缺少 lua53.dll。尝试重新安装程序以解决此问题。

lua53.dll 在 C:\lua-5.3.2_Win32_dllw4_lib\ —我错过了什么?

0 投票
1 回答
199 浏览

c++ - lambda中的可变参数作为函数指针

我想使用 luabridge 将一个函数从一个 Lua_State 复制到另一个。

luabridge 提供了一个被调用的函数addFunction(const char * name,FP fp)和一个被调用的函数getGlobal(lua_State* L,const char*),它返回一个LuaRef具有重载运算符的类型的对象。我正在使用 multimap 来存储要复制的函数的名称。

该函数addFunction()不支持使用指向类的指针,因此我不能getGlobal().operator()直接传递

我可以以某种方式使 lambda 接受来自addFunction(). 有什么诀窍还是根本不可能?

0 投票
1 回答
511 浏览

c++ - LuaBridge 在 lua 中为 Love2D 运行 C++ 主函数

这是我的 C++ 主要功能:

这是我用于 Love2D 的 main.lua

当我尝试用爱运行它时,它说 obj 是一个 nil 值,我意识到 Love2D 没有在 C++ 中运行我的主函数来创建对象类。如何使用 LuaBridge 在 Lua 中调用 C++ 主函数?

0 投票
1 回答
173 浏览

visual-c++ - 编译lua桥时出错

我正在尝试从存储库 https://github.com/vinniefalco/LuaBridge/releases编译 lua 桥

但是收到错误 C2953 'luabridge::FuncTraits': class template has been defined LuaBridgeDemo luabridgedemo-1.0\luabridgedemo-1.0\luabridge\luabridge.h 1436

经过仔细检查,在头文件中声明了两个类似的结构

我正在使用 Visual C++ 2015。是否需要进行任何设置或代码更改才能解决此错误。

提前致谢

0 投票
0 回答
261 浏览

c - 执行脚本后lua命令行崩溃

在执行使用我们使用 LuaBridge 映射的内部对象的脚本后,Lua 命令行可执行文件崩溃。

代码

错误

如果有这个异常的处理程序,程序可以安全地继续。

有关如何处理此问题的任何提示。显然这可能是我们代码中的内存分配问题,但是 Lua 应该正确处理这个问题吗?

0 投票
1 回答
875 浏览

c++ - C ++ LuaBridge 尝试索引用户数据值(本地“自我”)

我在我的框架中创建了一个围绕 LuaBridge 的包装器,这样我就可以轻松地将 LuaBridge 换成替代库。作为我的框架初始化的一部分,我有一些在 LuaBridge 中注册的类。然后我可以在 Lua 中轻松访问或实例化这些类。当我想在已经在框架 init 中注册的类/表上调用自定义方法时,问题就出现了,我已经在 Lua 中定义了该方法。

如果我尝试通过传递 MyObject 的实例来调用 OnUpdate,以便我可以利用 self,我会收到以下错误:

“尝试索引用户数据值(本地'self')”

如果我手动注册 MyObject 而不是让我的框架在启动期间对其进行初始化,它会完美运行。就像 Lua 可以解析 MyObject 的元表,即使我可以清楚地看到它已定义。我似乎也无法从 Lua 中找到太多关于该确切错误的信息。

0 投票
1 回答
685 浏览

c++ - 如何使用 LuaBridge 注册模板化函数?

我是 Lua 和 LuaBridge 的新手,我想知道是否可以注册模板函数?我在网上查看并通过 LuaBridge 手册无济于事。我尝试的是创建一个指向基类的指针,但后来发现没有办法在 Lua 中进行转换。如果有人对解决此问题的最佳方法有任何想法,将不胜感激。

解决方案

忘了早点发布,但解决方案是从字符串中确定类型,从那里你需要在 Lua 中设置一个全局,然后返回对该全局的引用。

0 投票
0 回答
64 浏览

c++ - 返回 2 个相同的用户数据

我希望 new 和 at 返回相同的用户数据,请告诉我该怎么做

我使用的示例代码

userdata 有不同的地址,因为这个新的 != at

返回 - 0 0 用户数据:0x34a8c320 用户数据:0x34a8d5b0 假