你好,我有一个用Lua 5.1编写的程序。我正在Windows 7上尝试将其转换为可执行文件,但迄今为止没有成功。我阅读了其他帖子,建议使用srlua来完成这个任务,所以我已经下载了它,但我不知道下一步该怎么做。我安装了cygwin,因为我知道这是必要的,但我不知道如何使用srlua将Lua文件转换为可执行文件。感谢任何帮助。
你好,我有一个用Lua 5.1编写的程序。我正在Windows 7上尝试将其转换为可执行文件,但迄今为止没有成功。我阅读了其他帖子,建议使用srlua来完成这个任务,所以我已经下载了它,但我不知道下一步该怎么做。我安装了cygwin,因为我知道这是必要的,但我不知道如何使用srlua将Lua文件转换为可执行文件。感谢任何帮助。
srlua只提供源代码,因此您必须首先编译它(有关获取免费C编译器的建议,请参见此答案)。
顺便说一句,Cygwin根本不必要。上述链接将引导您安装TDM-GCC,这是GCC编译器的Windows移植版,它将创建仅依赖于Windows默认系统库的可执行文件。
一旦您安装好了C编译器并编译了srlua,您将获得两个可执行文件glue.exe
和srlua.exe
。后者只是一个存根,由srlua.exe
使用,通过将其与Lua脚本连接起来生成最终的可执行文件。
假设您的脚本为myscript.lua
,您想创建一个名为myexe.exe
的可执行文件,则必须从命令行调用glue.exe
,如下所示:
glue.exe srlua.exe myscript.lua myexe.exe
我假设所有相关文件都放置在同一个目录中,并且您已经从命令行切换到该目录。
附加说明:我刚刚在srlua的官方下载页面上进行了双重检查,发现还有一个已编译为Windows二进制文件的软件包。因此,您可以跳过源代码编译部分,直接下载并解压缩这个。
二进制文件位于存档中的Release
子目录中。请注意,这些仅适用于Lua 5.1版本,因此,如果您的脚本使用Lua 5.2的功能,则必须遵循我的最初建议并从源代码编译。