“socket.core”是不是有效的Win32应用程序
问题描述:
阅读this,下载插座的64二进制和更换他们在LUA“clibs”目录中,没有阳性结果后,我想在解决以下错误一些帮助我是从日食接收:“socket.core”是不是有效的Win32应用程序
Exception in thread "main" com.naef.jnlua.LuaRuntimeException: error loading module 'socket.core' from file 'C:\Program Files (x86)\Lua\5.1\clibs\socket\core.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)
这是我enviorioment:
- 视窗10 64;
- Lua 5.3;
- LUA_PATH定义正确;
- LUA_CPATH定义正确;
这里是我的代码:
-- Requires
local socket = require 'socket'
-- Settings
host = "localhost"
port = 8384;
-- Program Start
print("Program Start")
-- Functions
local function main()
client = socket.connect(host, port)
client:send("test!")
while true do
s, status, partial = client:receive(1024)
print(s or partial)
if status == "closed" then
break
end
end
client:close()
end
main()
答
从你的Lua安装(C:\Program Files (x86)\Lua\5.1\clibs\socket\core.dll
)的文件路径,它看起来像你已经安装的Lua的32位版本,并试图加载与它的64位DLL。这不行;这两种体系结构不能混合在一个过程中。
可以下载32位版本的套接字模块或64位版本的Lua解释器。
刚刚从这里下载:http://files.luaforge.net/releases/luasocket/luasocket/luasocket-2.0.2这里:http://luabinaries.sourceforge.net/download.html替换所有的文件,将所有内容都留在32位,结果相同 –