我下载了 LuaJIT 的源代码并用 msvc120.dll (VS 2013 x64) 编译它。当我从命令行运行它时,执行一些基本的 lua 没有问题。现在 LuaJIT 安装指南提到将 luajit.exe 和 lua51.dll 移动到它们自己的文件夹中。从那里它说创建一个 lua 文件夹,并在该文件夹下创建一个 jit 文件夹,其中包含 src/jit 的内容移动到新创建的 jit 文件夹下。
据我了解,我的文件夹应如下所示并包含:
luajit.exe lua51.dll /lua /jit bc.lua [其余的 jit 文件] vmdef.lua
这是正确的还是我缺少文件?
现在,在我构建了我的 luajit 之后,我尝试将它连接到我的 luarocks 中,以充当我的解释器,使用
install.bat /LUA C:\LuaJIT\2.0.3\[folder with above content]
但是,这找不到头文件。然后我将头文件复制到上面的文件夹中并将其连接起来,但是当指向 LuaJIT 时,我实际上永远无法编译任何东西。编辑:我得到的错误如下,
C:\LuaJIT\2.0.3\bin\lua51.dll:致命错误 LNK1107:无效或损坏的文件:无法在 0x2D0 读取 错误:安装依赖项失败:https://rocks.moonscript.org/luafilesystem-1.6.2-2.src.rock - 构建错误:编译模块 lfs.dll 失败
处理这个问题的正确方法是简单地指向我的 lua 二进制文件并从那里利用 LuaJIT 来运行我的文件,还是我在连接 LuaJIT 和 luarocks 时做错了什么?前者似乎在大多数情况下都有效,因为我只遇到了一个库编译问题,lua-cjson。