Lua 5.2 добавляет luasocket (нестабильный)

Я пытаюсь использовать luasocket с lua 5.2. я скачал код из репозитория git и построил его. затем сделал make install, чтобы он сгенерировал core.dll и mime.dll. поместите их в пользовательский каталог программы lua [CPATH], который я разрабатываю, и попытался загрузить его. Но я получаю следующее сообщение об ошибке:

Failed at error loading module 'socket.core' from file 'D:\[..myprogram..]\socket\core.dll':
Module was not found.

как я могу проверить правильность dll. или я что-то не так сделал?

Спасибо


person alknows    schedule 11.06.2013    source источник
comment
Это точная ошибка, которую вы получаете? Я получаю другое сообщение: ошибка загрузки модуля 'socket.core' из файла 'D:\....\socket\core.dll': указанный модуль не найден. Вы устанавливаете значения package.path и package.cpath в сценарии?   -  person Paul Kulchenko    schedule 11.06.2013
comment
Да, это сообщение об ошибке такое же, как у вас. Я перевел последнее предложение с немецкого. Я думаю, что пути в порядке, поскольку он находит файл и говорит, что не может загрузить из него модуль. Хммм... Я рад, что не только я. Но как это исправить?   -  person alknows    schedule 12.06.2013
comment
ОБНОВЛЕНИЕ: я также пытался сослаться на socket.core на сокет, как я нашел на форуме... без успеха package.loaded[socket.core] = package.loaded[socket]   -  person alknows    schedule 12.06.2013


Ответы (2)


Ваш исполняемый файл находится в том же каталоге, что и ваши файлы lua? Попробуйте поместить dll в каталог вашего исполняемого файла.

person Enigma    schedule 11.06.2013
comment
да это так! он может найти dll. программа не может загрузить модуль из dll. - person alknows; 11.06.2013

Скорее всего, вы загружаете модули сокетов, которые скомпилированы для Lua 5.1, а не для Lua 5.2 (или, по крайней мере, это та же самая ошибка, которую я получаю в подобном случае). Возможно ли, что у вас есть модуль сокета для Lua 5.1 где-то на вашем пути? Он может поставляться с LuaForWindows или другим пакетом. Вы можете попробовать удалить/переместить скомпилированные DLL-файлы сокетов (для Lua 5.2) и посмотреть, появится ли такая же ошибка.

person Paul Kulchenko    schedule 12.06.2013
comment
я пробовал это уже. если я удалю dll, ошибка в том, что он не может найти файл. если я поставлю туда i, то он говорит, что не может загрузить модуль из файла. я еще раз проверил версию, и это #define LUASOCKET_VERSION LuaSocket 2.1-rc1 - person alknows; 13.06.2013