如何使用Lua 5.2与luasocket 3?

10

我试图用GitHub上的luasocket 3编译与lua 5.2一起使用。问题是,我不确定如何将Lualuasocket绑定在一起。我需要将luasocket编译为DLL文件,然后在lua代码中引用它吗?还是只需要从lua控制台调用它就好了?


你尝试使用luarocks构建它了吗?存储库中有一个rockspec。 - mpeterv
1
有没有关于如何做这个的教程?我是Lua的新手。 - miller
2个回答

4

尝试使用luarocks进行安装。如果您没有luarocks,请按照网站上的说明进行安装。

然后从luasocket仓库下载rockspec文件(luasocket-scm-0.rockspec)并运行。

$ luarocks install *path to the rockspec file*

如果一切顺利,您将能够像这样从Lua中使用luasocket:
local socket = require "socket"
-- now you can use socket.xxx functions

我认为在调用require之前,您需要设置package.cpath。 - PeopleMoutainPeopleSea

3
通常情况下,您只需要引用lua包含文件(只有4个必需的:luaconf.hlua.hlualib.h lauxlib.h)和库/动态链接库(在您的情况下是-llua52)。由于你没有说明你使用的编译器,所以很难给出更具体的解释。但是,我有一个脚本可以在Windows上使用mingw(在OSX/Linux上使用gcc)构建带有lua5.2的luasocket。例如,在Windows上编译,您可以获取build-win32.sh脚本并将其运行为:bash build-win32.sh 5.2 lua luasocket。它将获取所有所需的文件(使用wget),并在deps/文件夹中编译所有内容;生成的可执行文件和库将放在../bin文件夹中。
您也可以从同一存储库中获取已编译好的库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接