您好我有一个Lua程序(用Lua 5.1编写)。我在Windows 7上,试图将其转换为可执行文件。到目前为止没有运气。我已阅读其他帖子,建议使用srlua来做到这一点,所以我已经下载了它,但我对下一步该做什么感到不知所措。我根据我的理解安装了cygwin,但我不知道如何使用srlua将lua文件转换为可执行文件。任何帮助将不胜感激。Windows Lua到可执行文件
回答
srlua仅作为源代码发布,因此您必须先编译它(有关获取免费C编译器的建议,请参阅this answer)。
顺便说一句,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二进制文件。因此,您可以跳过源代码部分的所有编译,只需下载并解压缩this即可。
二进制文件位于存档内的Release
子目录中。请注意,这些仅适用于Lua 5.1,因此如果您的脚本使用Lua 5.2的功能,则必须遵循我的初步建议并从源代码进行编译。
非常感谢。我不明白的是:我的lua文件中有几个函数,那么如何指定哪一个应该执行?在Java或C中,我们有一个主函数并执行,但仅包含函数的lua文件又如何? – maxam
脚本从第一行开始执行。从技术上讲,脚本本身就是Lua函数的主体,并且该函数是在运行脚本时解释器执行的内容。在其他语言中,你可以把它称为“匿名”函数,但是在Lua中它会引起误解,因为函数技术上没有名称(只有变量),因为它们是(一级)值。你所看到的函数名称的确是变量(局部变量,全局变量或表格字段),它们具有作为值的函数。顺便说一下,在Lua中你可以在其他函数中定义新的函数。 –
- 1. Lua到Unix可执行文件?
- 2. Python到Windows下的可执行文件
- 3. 将Unix可执行文件转换为Windows可执行文件
- 4. 将lua脚本添加到可执行文件中
- 5. 是否可以将WindowsCE可执行文件运行到Windows Mobile?
- 6. Python到可执行文件
- 7. g ++为windows生成可执行文件
- 8. Windows和Apache Thrift可执行文件
- 9. Windows可执行文件结构
- 10. 签署Windows .NET可执行文件
- 11. 为Windows签名可执行文件
- 12. 关于可执行文件与Windows
- 13. 如何从windows erlang .beam文件生成windows可执行文件?
- 14. 如何在CygWin中执行.lua文件?
- 15. 在Ubuntu上进行交叉编译到Windows可执行文件?
- 16. 保存可执行文件到文件
- 17. 在windows中运行ubuntu文件作为可执行文件
- 18. 在ocaml中运行可执行文件(windows)文件
- 19. 无法找到可执行文件jre1.8.0_77
- 20. 从Windows命令提示符执行命令可执行文件
- 21. 将lua脚本编译为独立的可执行文件
- 22. 如何检查文件在Lua中是否可执行?
- 23. 创建独立的Lua可执行文件
- 24. 找不到Graphviz可执行文件
- 25. Buildkite Windows代理无法找到git可执行文件
- 26. “拼接”的代码放到一个Windows可执行文件
- 27. 在Windows上面对'无法找到CLI可执行文件'
- 28. Paramiko可执行文件:在Windows XP上找不到
- 29. 将数据追加到可执行文件(Windows,Unix)
- 30. Windows上的GNU Make看不到一些可执行文件
使用ThinApp,您可以轻松地从一堆lua.exe + lua.dll + script.lua + runme.bat文件中创建独立的exe文件。 –