Я пытаюсь скомпилировать luasocket 3, найденный на GitHub, с lua 5.2. Проблема в том, что я не знаю, как связать Lua
с luasocket
. Нужно ли мне компилировать luasocket
как DLL, а затем ссылаться, если где-то в коде lua
, или я должен просто вызвать его из консоли lua?
Как использовать Lua 5.2 с luasocket 3
Ответы (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
Обычно вам нужно ссылаться только на включаемые файлы 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
.
Вы также можете получить скомпилированные библиотеки из того же репозитория.