我已经使用 LuaForWindows 安装了 Lua 5.1,但我没有在安装的内容中看到 luasocket.h,所以看来我无法在我的 Visual Studio C++ 项目中使用它。
因此,我正在尝试构建并从 github 获得 Lua 5.2 的最新版本,即使它正在开发中,因为我无法从 sourceforge 找到 Lua 5.1 的源代码。
当我访问http://luaforge.net/projects/luasocket/时,它让我回到了 LuaSocket 页面。
所以,我已经构建了 Lua 5.2.2,这是我用于 luasocket 的 build.bat:
set INCLUDE=%INCLUDE%;C:\Users\me\Downloads\lua-5.2.2\src
echo %INCLUDE%
set LIB=%LIB%;C:\Users\me\Downloads\lua-5.2.2\src
echo %LIB%
ren unix.c unix.c00
ren usocket.c usocket.c00
cl /MD /O2 /W3 /c /nologo /DWIN32_LEAN_AND_MEAN *.c
ren mime.obj mime.o
link /DLL /OUT:socket.dll /base:0x67800000 /export:luaopen_socket_core *.obj mime.o msvcrt.lib lua5.2.lib wsock32.lib
link /DLL /OUT:mime.dll /base:0x67700000 /export:luaopen_mime_core mime.o msvcrt.lib lua5.2.lib
最大的问题是luaL_openlib undefined
在尝试编译一些c文件时出现并且_luaL_openlib
是一个未解析的外部符号引用,但这些都是相关的问题。
我目前不在乎我使用 Lua 5.1 还是 5.2,但我需要能够使用 LuaSocket,所以有没有办法从 LuaForWindows 使用它(https://code.google.com/p/luaforwindows/)还是我的 build.bat 有问题可以解决我的问题?