Tencent / xLua

xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc.
Other
9.24k stars 2.44k forks source link

被坑一个晚上 #1060

Open mudebug77 opened 1 year ago

mudebug77 commented 1 year ago

第一 luajit_v2.1.16_newest_luajit.tgz 这个文件不是luajit编译出来的 第二 下载下来的xlua当前版本的xlua可编译x64,但是是不可加载的 XLua.LuaDLL.Lua.luaL.newstate() 就会出错 第三 用旧版的xlua在vs2022 是无法直接编译luajit的。会报 error C2065: “lj_lib_init_buffer_method”: 未声明的标识符

官方发布的文件是MinSize 模式发布出来的,自己编译要带参数不然编译出来的文件会比官方发布的 大 自己下载最新版本的luajit,然后执行xlua的编译指令,得到build_lj64工程,在vs中开启合格工程,修改luajit路径 增加自己的扩展库编译即可

chexiongsheng commented 1 year ago

我们内部基本不用luajit版本。其次xlua用户做手游多些,一般也没太注意window。 不过我看自动构建那调用的脚本没调错,应该编出来的是luajit版本吧?https://github.com/Tencent/xLua/blob/master/.github/workflows/publish.yml#L160

svermeulen commented 2 months ago

luajit_v2.1.16.tgz 中的文件是如何生成的?有什么具体步骤吗? luajit_v2.1.16.tgz 中的文件可以正常工作,但我想用更新版本的 luajit 进行构建,却不知道如何重新生成这些文件。我尝试了以下步骤:

用最新的 luajit 源代码替换 luajit-2.1.0b3 目录(但保留 src/msvcbuild_mt.bat 文件) 编辑 make_win64_luajit.bat,使用 Visual Studio 2022 而不是 2019(因为我安装的是 2022 版本) 运行 make_win64_luajit.bat

这个过程可以成功完成,但当我将 build/plugin_luajit/Plugins 复制到我的 xlua unity 项目中时,它会导致 unity 编辑器崩溃。