gpt4 book ai didi

visual-studio-2012 - 如何从我的 VS C++ 项目中使用 luasocket,从 LuaForWindows 中找到 luasocket.h 或为 Lua 5.2 构建 LuaSocket

转载 作者:行者123 更新时间:2023-12-04 04:59:28 24 4
gpt4 key购买 nike

我已经使用 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 时出现是一个 Unresolved external symbol 引用,但这些是相关的问题。

我目前不在乎我是使用 Lua 5.1 还是 5.2,但我需要能够使用 LuaSocket,所以有没有办法从 LuaForWindows ( https://code.google.com/p/luaforwindows/ ) 使用它,或者我的 build.bat 有问题会解决我的问题吗?

最佳答案

(更新于 10/2/2015)前面描述的更改已合并到 luasocket master branch ,在 Windows 上使用 Lua 5.2 编译。

(以前版本的答案,不再适用)

您需要使用 this branch如果你想用 Lua 5.2 编译 luasocket。它包括 VisualStudio 的解决方案文件。

我没有用 VisualStudio 编译过这个分支,但我确实用 mingw 编译过它,并在 Windows 上与 Lua 5.2 一起使用。

这是我为 mingw 所拥有的构建标志列表:BUILD_FLAGS="-Wl,-s -O2 -shared -D LUA_COMPAT_MODULE -D IPV6_V6ONLY=27 -D WINVER=0x0501 -s ;我也链接了 -lwsock32 -lws2_32 -llua .

在你的情况下,我没有看到 LUA_COMPAT_MODULE ,这是 luasocket 当前需要的,也看不到 ws2_32在图书馆名单上。

我也遇到了失踪inet_ntopinet_pton电话,所以我patched luasocket包括那些(不确定这是否也是 VS 的问题)。您可能想尝试使用以下分支进行编译:https://github.com/pkulchenko/luasocket/commits/lua52-mingw .

关于visual-studio-2012 - 如何从我的 VS C++ 项目中使用 luasocket,从 LuaForWindows 中找到 luasocket.h 或为 Lua 5.2 构建 LuaSocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16321493/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com