Lua文件系统DLL无效

时间:2016-02-06 21:38:40

标签: eclipse lua luafilesystem

对LUA环境很陌生,所以我希望我能错过一些非常小的东西。我一直在尝试使用LuaRocks和MinGW编译LuaFileSystem。在最终编译之后,我正在尝试使用

加载DLL
require("lfs")

local f = assert(package.loadlib("lfs.dll","lfs"))
lfs = f()

我一直收到此错误

Exception in thread "main" com.naef.jnlua.LuaRuntimeException: error loading module 'lfs' from file '.\lfs.dll':
    %1 is not a valid Win32 application.

    at com.naef.jnlua.LuaState.lua_pcall(Native Method)
    at com.naef.jnlua.LuaState.call(LuaState.java:555)
    at org.eclipse.ldt.support.lua51.internal.interpreter.JNLua51Launcher.run(JNLua51Launcher.java:128)
    at org.eclipse.ldt.support.lua51.internal.interpreter.JNLua51Launcher.main(JNLua51Launcher.java:143)

值得注意的是,我试图在Eclipse LDT Interpreter中使用这个DLL。 DLL是针对LUA 5.1编译的,Eclipse使用的是LUA 5.1。我有什么想法我做错了吗?

1 个答案:

答案 0 :(得分:0)

事实证明,我没有意识到Eclipse的LDT包含基于jnLua的嵌入式Lua版本。使用LuaRocks,我使用LuaRocks编译了包含的版本,这更像是香草lua。

我确定可以通过设置LuaRocks来使用jnLua解释器来解决这个问题,但更快的方法就是添加LuaRocks包含的版本作为Eclipse中使用的解释器。

在首选项中,Lua>解释器,添加一个新的。对于可执行文件,只需导航到包含的LuaRocks Lua解释器(lua5.1.exe)。一旦我更新我的运行配置文件以使用这个新的解释器,它工作正常。