Как использовать Lua 5.2 с luasocket 3
Я пытаюсь скомпилировать luasocket 3, который я нашел на GitHub с lua 5.2. Проблема в том, я не уверен, как связать вместе Lua
с luasocket
, Нужно ли компилировать luasocket
как DLL, а затем ссылка, если где-то в lua
код, или мне просто позвонить с консоли lua?
2 ответа
Попробуйте установить его с помощью Luarocks. Если у вас нет luarocks, установите его, следуя инструкциям на сайте.
Затем загрузите файл rockpec (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 include-файлы (нужно всего 4: luaconf.h
, lua.h
, lualib.h
, а также lauxlib.h
) и library/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
папка.
Вы также можете получить скомпилированные библиотеки из того же хранилища.