Как использовать Lua 5.2 с luasocket 3

Я пытаюсь скомпилировать luasocket 3, найденный на GitHub, с lua 5.2. Проблема в том, что я не знаю, как связать Lua с luasocket. Нужно ли мне компилировать luasocket как DLL, а затем ссылаться, если где-то в коде lua, или я должен просто вызвать его из консоли lua?


person miller    schedule 06.09.2013    source источник
comment
Вы пробовали построить его с помощью luarocks? В репозитории есть рокспек.   -  person mpeterv    schedule 06.09.2013
comment
Есть ли какой-нибудь учебник о том, как это сделать? я новичок в луа   -  person miller    schedule 06.09.2013


Ответы (2)


Попробуйте установить его с помощью luarocks. Если у вас нет luarocks, установите его, следуя инструкциям на сайте.

Затем загрузите файл rockspec (luasocket-scm-0.rockspec) из репозитория luasocket и запустите

$ luarocks install *path to the rockspec file*

Если все пойдет хорошо, вы сможете использовать luasocket из Lua следующим образом:

local socket = require "socket"
-- now you can use socket.xxx functions
person mpeterv    schedule 06.09.2013

Обычно вам нужно ссылаться только на включаемые файлы lua (необходимо только 4: luaconf.h, lua.h, lualib.h и lauxlib.h) и библиотеку/dll (-llua52 в вашем случае). Вы не говорите, какой компилятор вы используете, поэтому сложно сказать более конкретно, но у меня есть скрипт(ы), которые создают luasocket с lua5.2 в Windows с использованием mingw (и с использованием gcc в OSX/Linux). Например, для компиляции в Windows вы можете получить скрипт build-win32.sh и запустить его как: bash build-win32.sh 5.2 lua luasocket. Он получит все необходимые файлы (используя wget) и скомпилирует все в папку deps/; полученный исполняемый файл и библиотеки будут помещены в папку ../bin.

Вы также можете получить скомпилированные библиотеки из того же репозитория.

person Paul Kulchenko    schedule 06.09.2013