本文作者:icy

C++ Sol2 库的使用 (一) 先进的LuaAPI封装库

icy 2021-07-07 1127 抢沙发
C++ Sol2 库的使用 (一)  先进的LuaAPI封装库摘要: Sol2 库的使用 (一)前段时间放弃了一个Exxxx的lua解析库当时用哪个 只是应为觉得简单。。。 比较容易使用 哈!(其实就是一直觉得sol2 麻烦 但是真的 开始进入门槛后...

Sol2 库的使用 (一)

前段时间放弃了一个Exxxx的lua解析库
当时用哪个 只是应为觉得简单。。。 比较容易使用 哈!(其实就是一直觉得sol2 麻烦 但是真的 开始进入门槛后其实觉得这个真的是更好用 哈)
sol2 可以用在  lua 5.1~5.4 luajit2.0 的。。
我这边编译的是 5.3的

先下载lua源码 编译

http://www.lua.org/download.html
如果在windows上 用的 也是 vs2019  我这边有编译好的 静态库
http://ct.icy6.com/f/18943335-501558872-7d7860

从github 下载下来的 sol2源码 使用 其 include/sol 下的文件即可

按照他的例子

#include 
#include 

int main() {
    sol::state lua;
    int x = 0;
    lua.set_function("beep", [&x]{ ++x; });
    lua.script("beep()");
    assert(x == 1);
}
/*--------------------------------------------------------------------*/
#include 
#include 

struct vars {
    int boop = 0;
};

int main() {
    sol::state lua;
    lua.new_usertype("vars", "boop", &vars::boop);
    lua.script("beep = vars.new()\n"
               "beep.boop = 1");
    assert(lua.get("beep").boop == 1);
}

sol2 用到了许多C+11/14特性,因此编译时需要编译器支持C14标准甚至C+17标准

所以vs2019 是默认 14 改成 17 吧。。。

examples 下有很多小例子 可以多看看

好了开始你的编码吧 下一节 我举一些自己用到的例子咯….

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享

发表评论

快捷回复:

评论列表 (暂无评论,1127人围观)参与讨论

还没有评论,来说两句吧...