我通过 luasocket 将我的项目(C++ VS2015 和 lua 5.3)连接到 ZeroBrane IDE 调试器,所有工作都像预期的那样:
package.path = package.path .. ';./scripts/zerobrane/?.lua'
package.cpath = package.cpath .. ';./scripts/zerobrane/?.dll'
local debugger = require('mobdebug.mobdebug')
debugger.start()
所以,我可以运行和调试这个项目。
但在我的另一个项目(C++ VS2013 & lua 5.1)中,我试图做完全相同的事情,但出现错误:
2016.05.17/17:33:39> lua_wrapper.cpp(47): Lua: error loading module 'socket.core'
from file 'D:/project2/scripts/zerobrane/socket\core.dll':
The specified module could not be found.
LUA Call stack:
. C <no name>
. C require
. main <no name> - ./scripts/zerobrane/socket.lua:12
. C require
. main <no name> - ./scripts/zerobrane/mobdebug\mobdebug.lua:101
. C require
. main <no name> - ./scripts/luadebug.lua:5
. C require
. main <no name> - ...\scripts\main.lua:6
dll的路径是正确的。我还尝试将来自 ZeroBraneStudio 包的不同 core.dll 放在该文件夹中,但没有运气:
- ZeroBraneStudio\bin\clibs\socket\core.dll
- ZeroBraneStudio\bin\clibs52\socket\core.dll
- ZeroBraneStudio\bin\clibs53\socket\core.dll
我打算自己用 VS2013 编译 core.dll,但我找不到合适的源代码。这一个http://files.luaforge.net/releases/luasocket/luasocket/luasocket-2.0-beta2只产生 socket.dll (重命名为 core.dll 什么都没有)。
有任何想法吗?