LuaJIT Windows 编译安装全攻略:从环境准备到验证运行,一步到位
一、先说重点:为什么要自己编译 LuaJIT?
如果你只是想“把 LuaJIT 在 Windows 上跑起来”,其实直接下载现成编译好的版本最快;但如果你遇到下面这些情况,自己编译就很有必要:
- 需要指定 32 位或 64 位版本
- 需要集成到自己的项目里
- 想开启/关闭某些编译选项
- 想自己控制编译器版本和运行环境
- 遇到第三方预编译包不兼容、缺少 DLL、路径异常等问题
LuaJIT 本身是一个非常快的 Lua 运行时,很多游戏脚本、热更新框架、性能敏感型工具都会用到它。Windows 下编译安装并不复杂,关键是把环境配对好,尤其是编译器和路径设置。
二、目标关键词与适用场景
目标关键词:LuaJIT Windows 编译安装
这篇文章主要适合以下几类人:
- 新手:想在 Windows 上把 LuaJIT 编译成功,能运行
luajit.exe - 进阶用户:希望把 LuaJIT 做成静态库或动态库给项目调用
- 开发者:需要在不同 MSVC / MinGW 环境下排查编译问题
- 运维/集成场景:要把 LuaJIT 作为脚本引擎嵌入程序中
三、编译前要准备什么?
LuaJIT 在 Windows 上常见有两条路线:
- 使用 Visual Studio / MSVC 编译
- 使用 MinGW / MSYS2 编译
如果你是普通开发者,优先推荐 MSVC,兼容性更好,Windows 原生项目集成更方便。
1)推荐环境:MSVC 编译方案
需要准备的软件
- Visual Studio 2019 / 2022
- 安装时勾选:
- “使用 C++ 的桌面开发”
- Windows 10/11 SDK
- MSVC v142 / v143 编译工具
- Git
- 可选:CMake(LuaJIT 本身通常不靠 CMake 主编译,但后续项目集成可能用得到)
检查方式
打开“开发者命令提示符”或普通命令行后确认:
cl
nmake /?
如果能输出版本信息,说明编译环境正常。
2)备用环境:MinGW / MSYS2 编译方案
如果你更习惯类 Linux 工具链,也可以用:
- MSYS2
- mingw-w64 gcc
- make 工具
但要注意:LuaJIT 官方对 Windows 下 MSVC 支持更直接,MinGW 在某些版本上会遇到兼容问题,所以新手不建议优先走这条路。
四、下载 LuaJIT 源码
LuaJIT 官方源码通常可以直接获取到稳定版本。建议下载正式发布版,而不是随便拉一个不明分支。
下载方式
你可以通过以下任一方式:
方式一:Git 克隆
git clone https://github.com/LuaJIT/LuaJIT.git
方式二:下载压缩包
下载稳定源码包后解压即可。
五、Windows 下用 MSVC 编译 LuaJIT
下面是最常见、最稳的编译流程。
1)打开正确的命令行环境
一定要用以下之一:
- x64 Native Tools Command Prompt for VS 2022
- 或者 Developer Command Prompt for VS
因为普通 CMD 里可能找不到 cl.exe、nmake.exe。
2)进入 LuaJIT 源码目录
假设你解压到了:
D:\work\LuaJIT
执行:
cd /d D:\work\LuaJIT
3)查看可用编译目标
LuaJIT 自带 Makefile,Windows 下通常会看到相关的构建目标。你可以先试试:
msvcbuild
如果你的环境配置正确,LuaJIT 会自动调用 MSVC 工具链开始编译。
4)最常用的编译命令
在 LuaJIT 根目录下执行:
msvcbuild
如果你想编 64 位版本,一般在 64 位开发者命令行里执行即可。
如果你想强制编 32 位,通常需要确认当前命令行环境是 32 位工具链对应环境。
5)编译完成后会得到什么?
通常会生成:
luajit.exelua51.dll或相关动态库- 目标目录下的中间文件
- 某些情况下还有静态库或导入库
你可以在源码目录或生成目录里找到这些文件。
六、编译成功后怎么验证?
编译完成后,进入生成目录,执行:
luajit -v
正常情况下会输出类似信息:
LuaJIT 2.x.x -- Copyright (C) ...
再测试一下脚本执行:
luajit -e "print('Hello LuaJIT')"
如果输出:
Hello LuaJIT
说明编译、链接、运行都正常。
七、常见编译问题与解决方法
Windows 下编译 LuaJIT 最容易卡在环境问题,不是源码本身难,而是工具链没配对好。
问题 1:提示找不到 cl.exe 或 nmake
原因
没有打开 Visual Studio 的开发者命令行,或者 MSVC 工具没有安装完整。
解决方法
- 打开 Visual Studio Installer
- 修改安装
- 确认勾选:
- C++ 桌面开发
- MSVC 编译工具
- Windows SDK
- 用 x64 Native Tools Command Prompt 再试一次
问题 2:msvcbuild 执行报错
原因
常见原因包括:
- 环境变量没加载
- Python / Perl 干扰较少,但路径异常有时会影响脚本
- 源码路径里有中文、空格、特殊字符
- 权限不足
解决方法
建议把源码放在简单路径,例如:
D:\LuaJIT\
不要放到:
- 桌面深层目录
- 含中文路径
- OneDrive 同步目录
然后重新执行:
cd /d D:\LuaJIT
msvcbuild
问题 3:编译 64 位时出错
原因
可能是当前命令行其实不是 64 位工具链环境。
解决方法
打开:
- x64 Native Tools Command Prompt
再确认一下:
cl
如果显示的是 x64 相关信息,再编译。
问题 4:运行时缺少 DLL
原因
程序运行环境找不到 LuaJIT 的相关 DLL,或者你只拷贝了 luajit.exe 没拷贝依赖文件。
解决方法
把以下文件一起放到运行目录:
luajit.exelua51.dll或对应 DLL- 需要的话把相关库文件一起部署
也可以把 DLL 所在目录加入系统 PATH,但更稳妥的做法是程序同目录部署。
问题 5:杀毒软件拦截
原因
LuaJIT 属于 JIT 编译器,部分安全软件对其行为比较敏感。
解决方法
- 临时关闭拦截
- 将编译目录加入白名单
- 避免把编译产物直接放到受保护目录中
八、如何把 LuaJIT 作为开发依赖使用?
如果你不是单纯运行 luajit.exe,而是要在自己的程序中嵌入 LuaJIT,建议这样做:
1)头文件和库文件
编译后把以下内容整理出来:
- 头文件:
src目录中的相关.h - 库文件:
.lib或.dll - 可执行文件:用于测试
2)项目里配置包含目录
在 Visual Studio 中:
- C/C++ → 常规 → 附加包含目录
- 链接器 → 常规 → 附加库目录
- 链接器 → 输入 → 附加依赖项
3)常见调用方式
在 C/C++ 项目中一般会包含 LuaJIT 对应头文件,例如:
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
如果你是用 Lua 5.1 兼容接口开发,LuaJIT 基本可以直接按 Lua 5.1 的方式对接。
九、MSVC 与 MinGW 怎么选?
选 MSVC 的理由
- Windows 原生兼容性更好
- 和 Visual Studio 项目无缝集成
- 排错更容易
- 企业环境常用
选 MinGW 的场景
- 你已经习惯 GCC 工具链
- 项目本身就是 MinGW 构建
- 需要类 Unix 的命令行体验
建议
如果你只是想“稳定编译成功”,直接上 MSVC。
如果你是做跨平台项目,后面再考虑 MinGW 或其他构建链。
十、编译安装后的基础测试命令
下面这些命令建议都跑一遍,能快速判断 LuaJIT 是否可用。
查看版本
luajit -v
执行一行 Lua 代码
luajit -e "print(jit.version)"
测试循环和性能
luajit -e "local s=0; for i=1,1000000 do s=s+i end; print(s)"
进入交互模式
luajit
然后输入:
print("test")
按回车,确认能正确输出。
十一、实战建议:新手最省事的安装路线
如果你是第一次接触 LuaJIT,按这个顺序走,成功率最高:
- 安装 Visual Studio 2022
- 勾选 C++ 桌面开发组件
- 下载 LuaJIT 源码并解压到
D:\LuaJIT - 打开 x64 Native Tools Command Prompt
- 进入源码目录
- 执行:
msvcbuild
- 编译完成后执行:
luajit -v
- 再执行:
luajit -e "print('Hello LuaJIT')"
只要这两步都正常,就说明安装和编译成功了。
十二、进阶优化:让编译更稳定的几个细节
1)路径尽量简洁
推荐:
D:\LuaJIT
不推荐:
D:\中文目录\测试\LuaJIT源码最终版\123
2)避免权限问题
不要放在系统保护目录里,比如:
C:\Program Files\- 桌面同步盘
- 权限受限的共享目录
3)统一位数
- 64 位系统尽量用 64 位工具链
- 项目依赖也尽量统一 64 位
- 不要 DLL、EXE、编译器三者位数混用
4)保留编译日志
如果编译失败,保留输出日志,方便定位问题。很多时候不是 LuaJIT 本身坏了,而是工具链环境出了问题。
十三、如果要做成可分发版本,注意这些
如果你打算把 LuaJIT 放到别人的电脑上运行,建议注意:
- 把
luajit.exe和对应 DLL 一起打包 - 不要依赖目标机器额外安装开发环境
- 用压缩包测试“绿色部署”
- 需要时把 VC 运行库一起考虑进去
- 如果集成到自己的程序中,尽量静态/动态依赖统一规划
十四、常见问题速查
1. Windows 下 LuaJIT 编译最推荐什么方式?
推荐 Visual Studio + MSVC + x64 Native Tools Command Prompt。
2. msvcbuild 是什么?
它是 LuaJIT 在 Windows 下常用的 MSVC 构建脚本入口,用来一键编译。
3. 编译后怎么知道成功了?
运行:
luajit -v
能输出版本信息就说明成功。
4. 为什么不要把源码放中文路径?
因为部分构建脚本和工具链在处理中文路径时容易出问题,简单英文路径最稳。
5. 需要额外装 Lua 吗?
通常不需要,LuaJIT 本身就是 Lua 运行时,并兼容 Lua 5.1 的大部分接口。
十五、总结
LuaJIT 在 Windows 上编译安装并不难,核心就三件事:
- 环境要对:Visual Studio、MSVC、开发者命令行
- 路径要简单:英文目录、短路径、权限正常
- 验证要完整:先编译,再运行
luajit -v和简单脚本测试
对于大多数用户来说,最稳的方案就是:
- 安装 VS 2022
- 打开 x64 开发者命令提示符
- 在 LuaJIT 源码目录执行
msvcbuild - 用
luajit -v验证结果
这样基本能一次把 LuaJIT 在 Windows 下编译安装成功。

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