luajit windows编译安装

老刘

LuaJIT Windows 编译安装全攻略:从环境准备到验证运行,一步到位

一、先说重点:为什么要自己编译 LuaJIT?

如果你只是想“把 LuaJIT 在 Windows 上跑起来”,其实直接下载现成编译好的版本最快;但如果你遇到下面这些情况,自己编译就很有必要:

  • 需要指定 32 位或 64 位版本
  • 需要集成到自己的项目里
  • 想开启/关闭某些编译选项
  • 想自己控制编译器版本和运行环境
  • 遇到第三方预编译包不兼容、缺少 DLL、路径异常等问题

LuaJIT 本身是一个非常快的 Lua 运行时,很多游戏脚本、热更新框架、性能敏感型工具都会用到它。Windows 下编译安装并不复杂,关键是把环境配对好,尤其是编译器和路径设置。


二、目标关键词与适用场景

目标关键词:LuaJIT Windows 编译安装

这篇文章主要适合以下几类人:

  • 新手:想在 Windows 上把 LuaJIT 编译成功,能运行 luajit.exe
  • 进阶用户:希望把 LuaJIT 做成静态库或动态库给项目调用
  • 开发者:需要在不同 MSVC / MinGW 环境下排查编译问题
  • 运维/集成场景:要把 LuaJIT 作为脚本引擎嵌入程序中

三、编译前要准备什么?

LuaJIT 在 Windows 上常见有两条路线:

  1. 使用 Visual Studio / MSVC 编译
  2. 使用 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.exenmake.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.exe
  • lua51.dll 或相关动态库
  • 目标目录下的中间文件
  • 某些情况下还有静态库或导入库

你可以在源码目录或生成目录里找到这些文件。


六、编译成功后怎么验证?

编译完成后,进入生成目录,执行:

luajit -v

正常情况下会输出类似信息:

LuaJIT 2.x.x -- Copyright (C) ...

再测试一下脚本执行:

luajit -e "print('Hello LuaJIT')"

如果输出:

Hello LuaJIT

说明编译、链接、运行都正常。


七、常见编译问题与解决方法

Windows 下编译 LuaJIT 最容易卡在环境问题,不是源码本身难,而是工具链没配对好。


问题 1:提示找不到 cl.exenmake

原因

没有打开 Visual Studio 的开发者命令行,或者 MSVC 工具没有安装完整。

解决方法

  1. 打开 Visual Studio Installer
  2. 修改安装
  3. 确认勾选:
    • C++ 桌面开发
    • MSVC 编译工具
    • Windows SDK
  4. 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.exe
  • lua51.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,按这个顺序走,成功率最高:

  1. 安装 Visual Studio 2022
  2. 勾选 C++ 桌面开发组件
  3. 下载 LuaJIT 源码并解压到 D:\LuaJIT
  4. 打开 x64 Native Tools Command Prompt
  5. 进入源码目录
  6. 执行:
msvcbuild
  1. 编译完成后执行:
luajit -v
  1. 再执行:
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 上编译安装并不难,核心就三件事:

  1. 环境要对:Visual Studio、MSVC、开发者命令行
  2. 路径要简单:英文目录、短路径、权限正常
  3. 验证要完整:先编译,再运行 luajit -v 和简单脚本测试

对于大多数用户来说,最稳的方案就是:

  • 安装 VS 2022
  • 打开 x64 开发者命令提示符
  • 在 LuaJIT 源码目录执行 msvcbuild
  • luajit -v 验证结果

这样基本能一次把 LuaJIT 在 Windows 下编译安装成功。

文章版权声明:文章内容均来源于各大短视频平台搜集以及修改和删减新增,如有侵权或者违规,请联系站长进行删除,如需转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,3人围观)

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

目录[+]