zifa2003293 发表于 2022-1-13 09:36

Xlua常用第三方库(含rapidjson)

XLua有官方的第三方库集成教程, 这里只是给不愿意折腾编译的小伙伴多一个选择。
下载

Github链接:https://github.com/chexiongsheng/build_xlua_with_libs 下载之后, 替换XLua的Plugins文件夹,里面包含RapidJson、LuaSocket、LPeg、lua-protobuf等
扩展LuaDLL.Lua类

新建一个CS文件,写入如下代码, 这里就以rapidjson为例
using System.Runtime.InteropServices;

namespace XLua.LuaDLL {

    public partial class Lua {

      
      public static extern int luaopen_rapidjson(System.IntPtr L);

      
      public static int LoadRapidJson(System.IntPtr L) {
            return luaopen_rapidjson(L);
      }
    }
}
在合适的位置调用AddBuildin

//笔者是在LuaBehaviour中调用, 做if判断是为了防止重复添加
if (!luaEnv.buildin_initer.ContainsKey("rapidjson")) {               
   luaEnv.AddBuildin("rapidjson", XLua.LuaDLL.Lua.LoadRapidJson);            
}
以上步骤弄完之后,记得重启下Unity,要不然可能会报错:EntryPointNotFoundException: luaopen_rapidjson
最后在lua文件中require即可

local rapidJson = require("rapidjson”)附上rapidjson的API文档:https://github.com/xpol/lua-rapidjson/blob/master/API.md
页: [1]
查看完整版本: Xlua常用第三方库(含rapidjson)