2011-08-14 60 views
2

我将lua文件编译为带有srlua的独立程序(即exe)后,我得到大量错误。lua编译需要错误

任何后面找不到的“require()”中的任何内容都会导致程序无法运行。

有没有办法解决这个问题,所以程序会正常运行?

谢谢。

回答

1

当您执行require时,默认方法将根据lua.exe的位置扫描目录。 srLua似乎不处理依赖关系。也许你应该使用Lua Built-In Program。这个项目似乎被放弃了,但它在2010年确实有了一个发布版本,所以这个版本大多是最近的。

+0

虽然这不起作用。而且它也不是编译器。 它给出了相同的错误。没有一种方法可以正确设定路径,而不是其他任何方法。为了得到它的工作。 – luacoder

1

最近我使用Squish收集了一堆Lua模块和几个相关的脚本,以便它们可以与他们的主机应用程序一起打包在一个exe中。

我不得不做一些调整来在Windows中构建和使用它,但它们都是以Unix为中心的现有源代码包的明显扩展或翻译。 Squish本身是用纯粹的Lua编写的,构建它的过程就是使用压缩来生成一个单独的自包含脚本文件,以便与普通的Lua解释器一起使用。

除了处理相关模块,它还可以编译和/或压缩代码,以实现更小的输出。

如果您正在使用股票Lua解释器,那么使用Squish获取单个文件并将srlua与解释器打包可能是一个很好的组合。