我下载了 LuaEdit 以用作 IDE 和调试工具,但是即使是最简单的事情我也无法使用它。我创建了一个包含 2 个文件的解决方案,所有这些文件都存储在同一个文件夹中。我的文件如下:
--startup.lua
require("foo")
test("Testing", "testing", "one, two, three")
--foo.lua
foo = {}
print("In foo.lua")
function test(a,b,c) print(a,b,c) end
这在我的 C++ 编译器中通过一些嵌入代码访问时工作正常,但是当我尝试在 LuaEdit 中使用相同的代码时,它在第 3 行
require("foo")
崩溃错误说明:module 'foo' not found:
no field package.preload['foo']
no file 'C:\Program Files (x86)\LuaEdit 2010\lua\foo.lua'
no file 'C:\Program Files (x86)\LuaEdit 2010\lua\foo\init.lua'
no file 'C:\Program Files (x86)\LuaEdit 2010\foo.lua'
no file 'C:\Program Files (x86)\LuaEdit 2010\foo\init.lua'
no file '.\foo.lua'
no file 'C:\Program Files (x86)\LuaEdit 2010\foo.dll'
no file 'C:\Program Files (x86)\LuaEdit 2010\loadall.dll'
no file '.\battle.dll'
我还尝试在将这些文件添加到解决方案之前创建这些文件,但仍然出现相同的错误。我缺少一些设置吗?拥有一个 IDE/调试器会很棒,但如果它不能运行链接函数,它对我来说毫无用处。
最佳答案
问题可能是您的 Lua 文件不在 package.path
中的路径上。 (对于 C 文件,这是 package.cpath
)。
我的猜测是 LuaEdit 程序没有在你的文件所在的目录中启动,因此不匹配例如 .\foo.lua
。 .
您有 3 个简单的解决方案(从愚蠢到聪明):
package.path
和 package.cpath
在做任何事情之前require
的关于当 Lua 文件都在同一个文件夹中时,LuaEdit 找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10866477/