所以在过去的几个小时里,我一直在试图弄清楚如何在Lua中使用静态(或动态)库中包含的C++类。我找到了几个包,比如LunaFive或SimpleCppBinding,但我似乎不了解如何正确使用它们。根据我所看到的,有一个main函数,因此我猜它不是一个库,而是一个可执行文件,我运行它,然后运行Lua脚本,它将挂钩应用程序并获取类,或者其他什么?我主要想做的是:
中使用
一样
这样的事情有可能发生吗?如果是这样的话,有没有人能解释一下如何做到这一点呢?
我目前使用的是Windows,但我也可以在Linux上使用它。在windows上我使用的是VS,在Linux上我会使用与g++配对的CLion。Lua 5.3。
我不确定这是否与此相关,但我正在为FiveM (GTA多人客户端)开发一个游戏模式。默认情况下,FiveM附带了对脚本的Lua支持,但我喜欢使用一些C++标准库和特性。因此,我非常喜欢在C++中为服务器创建一些库,然后在FiveM提供的Lua中使用它们。
发布于 2018-09-14 07:39:20
静态库:不可能。你的选择是: 1.一个动态库(二进制),带有某种可由Lua可执行文件访问的接口(Alien,Lua特定的钩子……)或者2.一个自定义的可执行文件,其中包含Lua引擎和C++内容,并使用一些胶水。使用'main‘函数的例子可能是后一种类型。
https://stackoverflow.com/questions/52323012
复制相似问题