引言
将.lua
文件编译为自带解释器,无环境依赖的.exe
的标准做法是使用srlua.不过,其本身已有十来年未有更新,同时也未提供编译好的二进制文件(很多人编译的srlua未考虑依赖问题导致编译后的程序在无lua环境中运行时报缺失dll错误),并不是即开即用.
luaToEXE
是一个封装了srlua
的开源项目,旨在为将.lua
编译为自带解释器的.exe
提供简单的解决方案.
特点:
- 简单易用
- 编译后的
.exe
无依赖(在Windows沙盒环境下测试通过) - 支持多Lua版本选择
项目包括两个子项目:
- lua-to-exe: 一个Python库,提供转换的API函数和图形界面
- exelua: 一个命令行工具程序,包括32位及64位版本
链接:
教程: lua-to-exe
- 使用
pip install lua-to-exe
安装
2. 在你的项目中使用
import lua_to_exe
导入包(注意是_
)
-
图形界面: 运行
lua_to_exe.gui()
唤起图形界面- 包括输入
.lua
,输出.exe
的文件(名)选择及转换按钮 - 下拉框可选lua版本.-32表示32位,以此类推
- 包括输入
4. API: 调用
lua_to_exe()
函数
markdown
- `lua_to_exe(lua_file, exe_file, lua_version='5.1.5-64')`,参数列表依次为输入的`.lua`文件,输出的`.exe`文件,及可选的lua版本(默认为5.1.5-64)
- 调用`all_available()`可获取所有可用的lua版本名字典

教程: exelua
- 在Release页面下载对应位数的
exelua
2. 解压并将目录添加至环境变量,重启电脑.注意,确保
srlua
文件夹在同目录下
3. 在Windows终端中运行
exelua -v
,输出版本号表示安装成功
- 输入
exelua -h
获取使用帮助,输入exelua -list
(初次运行可能耗费一些时间)列出所有可用版本
5. 运行
exelua -c <input.lua> <output.exe> [-lua <version>]
执行转换.参数依次是,输入的.lua
文件路径,输出的.exe
文件路径,可选的-lua
(如需指明lua版本)及对应的版本.例如,将helloworld.lua
转换为helloworld.exe
的指令可以是exelua -c helloworld.lua helloworld.exe
,使用默认的5.1.5-64
/5.1.5-32
版本的lua解释器.
