使用srlua将lua文件编译成独立程序(即exe)后,我遇到了大量错误。
“require()”中的任何内容都会在以后找不到,程序将无法运行。
有没有办法解决这个问题,所以程序运行正常?
感谢。
答案 0 :(得分:1)
执行require
时,默认方法会根据lua.exe
的位置扫描目录。 srLua似乎不处理依赖。也许您应该使用Lua Built-In Program代替。该项目似乎已被放弃,但它确实在2010年发布,所以它主要是最近发布的。
答案 1 :(得分:1)
我最近使用Squish收集了大量Lua模块和几个相关脚本,以便它们可以与主机应用程序一起打包在单个exe中。
我确实需要在Windows中进行一些调整来构建和使用它,但它们都是以Unix为中心的现有源代码包的明显扩展或翻译。 Squish本身是用纯Lua编写的,并且构建它会将squish应用到自身以生成一个独立的脚本文件,以便与普通的Lua解释器一起使用。
除了处理依赖模块外,它还可以编译和/或压缩代码以获得更小的输出。
如果您正在使用股票Lua解释器,那么使用Squish获取单个文件并将srlua与解释器打包可能是一个很好的组合。