问题标签 [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.
c++ - 从 C++ 访问 Lua 中的表
我在尝试从 C++ 访问的 Lua 中有一个全局表。这基本上是我想要做的:
卢阿:
C++:
我收到一个错误cout
,说:
错误 C2593 'operator <<' is ambiguous ConsoleApplication2" & "多个运算符 "<<" 匹配这些操作数:
但是我不认为这些错误是问题所在。
我怎样才能访问这个值?
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 的解决方案)。
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\ —我错过了什么?
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()
. 有什么诀窍还是根本不可能?
c++ - LuaBridge 在 lua 中为 Love2D 运行 C++ 主函数
这是我的 C++ 主要功能:
这是我用于 Love2D 的 main.lua
当我尝试用爱运行它时,它说 obj 是一个 nil 值,我意识到 Love2D 没有在 C++ 中运行我的主函数来创建对象类。如何使用 LuaBridge 在 Lua 中调用 C++ 主函数?
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。是否需要进行任何设置或代码更改才能解决此错误。
提前致谢
c - 执行脚本后lua命令行崩溃
在执行使用我们使用 LuaBridge 映射的内部对象的脚本后,Lua 命令行可执行文件崩溃。
代码
错误
如果有这个异常的处理程序,程序可以安全地继续。
有关如何处理此问题的任何提示。显然这可能是我们代码中的内存分配问题,但是 Lua 应该正确处理这个问题吗?
c++ - C ++ LuaBridge 尝试索引用户数据值(本地“自我”)
我在我的框架中创建了一个围绕 LuaBridge 的包装器,这样我就可以轻松地将 LuaBridge 换成替代库。作为我的框架初始化的一部分,我有一些在 LuaBridge 中注册的类。然后我可以在 Lua 中轻松访问或实例化这些类。当我想在已经在框架 init 中注册的类/表上调用自定义方法时,问题就出现了,我已经在 Lua 中定义了该方法。
如果我尝试通过传递 MyObject 的实例来调用 OnUpdate,以便我可以利用 self,我会收到以下错误:
“尝试索引用户数据值(本地'self')”
如果我手动注册 MyObject 而不是让我的框架在启动期间对其进行初始化,它会完美运行。就像 Lua 可以解析 MyObject 的元表,即使我可以清楚地看到它已定义。我似乎也无法从 Lua 中找到太多关于该确切错误的信息。
c++ - 如何使用 LuaBridge 注册模板化函数?
我是 Lua 和 LuaBridge 的新手,我想知道是否可以注册模板函数?我在网上查看并通过 LuaBridge 手册无济于事。我尝试的是创建一个指向基类的指针,但后来发现没有办法在 Lua 中进行转换。如果有人对解决此问题的最佳方法有任何想法,将不胜感激。
解决方案
忘了早点发布,但解决方案是从字符串中确定类型,从那里你需要在 Lua 中设置一个全局,然后返回对该全局的引用。
c++ - 返回 2 个相同的用户数据
我希望 new 和 at 返回相同的用户数据,请告诉我该怎么做
我使用的示例代码
userdata 有不同的地址,因为这个新的 != at
返回 - 0 0 用户数据:0x34a8c320 用户数据:0x34a8d5b0 假