Отличаются режимами сборки Для /MD требуется еще установленный Microsoft Visual C++ Redistributable соответствующей версии (в зависимости от версии Visual C++, в котором собирали). Ну либо установленный MS Visual C++ соответствующей версии.
Кто-нибудь из знающих товарищей может либо подсказать, как это делается, либо просто скомпилировать и выложить на форум socket core.dll для Quik 8.11 и Lua 5.4.1?
Хотел было, но Диего любит наворотить в проекте нетривиальностей, что в двух словах не объяснишь, так что проще самому собрать (не тестировано вообще никак, может и нерабочее получилось).
Всем привет. _sk_, не подскажете в какой из файлов, или какой функцией задаются адрес и порт Socket сервера и какой функцией отправить данные на него? Как вообще можно установить соединение? У меня имеется WebSocket сервер на php, хочу на него отправлять данные из Quik. Я выполнил ваши рекомендации, но дальше не могу разобраться, хотя роботов на lua пишу.
Евгений, вот кусок кода на LUA для подключения к серверу.
Код
socket=require("socket.core")
tcp = socket.tcp()
tcp:settimeout(1)
local host, port = "127.0.0.1", 1020
if tcp:connect(host, port) then
print("connect OK "..host..":"..port)
else
print("connect Error")
end
...
tcp:close()
Скачайте MSVC. Скачайте исходный код нужной версии Lua. Откройте нативный терминал разработки MSVC х64, в нем откройте папку с исходниками. Скомпилируйте Lua с помощью такого кода:
Код
cl /MD /O2 /c /DLUA_BUILD_AS_DLL *.c
ren lua.obj lua.o
ren luac.obj luac.o
link /DLL /IMPLIB:lua54.lib /OUT:lua54.dll *.obj
link /OUT:lua.exe lua.o lua54.lib
lib /OUT:lua54-static.lib *.obj
link /OUT:luac.exe luac.o lua54-static.lib
замените "54" на "53" если у вас эта версия. Скопируйте все файлы в системную папку для Lua, например C:\Lua54. Добавьте эту папку в переенную %PATH%.
Скачайте исходный код luarocks. Перейдите в терминале папку с исходниками, установите систему с помощью такой коанды:
Код
install /LV 5.4 /MSVC /P C:\Lua54\luarocks
тоже поменяйте номер версии при надобности. Перейдите в папку luarocks и установите luasocket
Код
luarocks install luasocket
полученные файлы библиотеки можно скопировать из C:\Lua54\luarocks\systree\lib\lua\5.4 в корень QUIK, либо в нужное место если у вас есть соответствующая запись в package.cpath.
Все операции по компиляции и установке надо проводить в нативном терминале х64 (в нем инициализированы нужные настройки).
Спасибо! Это, конечно, более правильный путь. Однако у меня Windows 7 x64 SP1, и она совсем не едет или я разучился. Первый день исправлял одну системную ошибку за одной. Переустанавливал VS, DirectX(с проблемами). VS 2019 (бесплатная, для студентов и прочих) встала по сети без проблем, только Python отказался грузиться, но я потом поправил ошибку (указал путь к правильным dll). Сегодня добрался до первой строчки вашего примера. Сразу ошибка. Победил первую ошибку командной строки (внес пути в PATH), за ней вторая и так, видимо, до бесконечности.
Добавка переменной окружения LOAD_LIBRARY_SEARCH_DEFAULT_DIRS с этим путем, а также этого пути в PATH здесь не помогла.
На более новые версии Windows не хочу переходить, я их юзаю на работе, по необходимости, очень не нравятся. Видимо для меня Windows постепенно перестает существовать.
Артем написал: Спасибо! Это, конечно, более правильный путь. Однако у меня Windows 7 x64 SP1, и она совсем не едет или я разучился. Первый день исправлял одну системную ошибку за одной. Переустанавливал VS, DirectX(с проблемами). VS 2019 (бесплатная, для студентов и прочих) встала по сети без проблем, только Python отказался грузиться, но я потом поправил ошибку (указал путь к правильным dll). Сегодня добрался до первой строчки вашего примера. Сразу ошибка. Победил первую ошибку командной строки (внес пути в PATH), за ней вторая и так, видимо, до бесконечности. cl командная строка Error D8027 нельзя выполнить C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\bin\HostX64\x64\c1.dllДобавка переменной окружения LOAD_LIBRARY_SEARCH_DEFAULT_DIRS с этим путем, а также этого пути в PATH здесь не помогла. На более новые версии Windows не хочу переходить, я их юзаю на работе, по необходимости, очень не нравятся.Видимо для меня Windows постепенно перестает существовать.
Спасибо! Это, конечно, более правильный путь. Однако у меня Windows 7 x64 SP1, и она совсем не едет или я разучился. Первый день исправлял одну системную ошибку за одной. Переустанавливал VS, DirectX(с проблемами). VS 2019 (бесплатная, для студентов и прочих) встала по сети без проблем, только Python отказался грузиться, но я потом поправил ошибку (указал путь к правильным dll). Сегодня добрался до первой строчки вашего примера. Сразу ошибка. Победил первую ошибку командной строки (внес пути в PATH), за ней вторая и так, видимо, до бесконечности.
Добавка переменной окружения LOAD_LIBRARY_SEARCH_DEFAULT_DIRS с этим путем, а также этого пути в PATH здесь не помогла.
На более новые версии Windows не хочу переходить, я их юзаю на работе, по необходимости, очень не нравятся. Видимо для меня Windows постепенно перестает существовать.
Скачайте MSVC. Скачайте исходный код нужной версии Lua. Откройте нативный терминал разработки MSVC х64, в нем откройте папку с исходниками. Скомпилируйте Lua с помощью такого кода:
замените "54" на "53" если у вас эта версия. Скопируйте все файлы в системную папку для Lua, например C:\Lua54. Добавьте эту папку в переенную %PATH%.
Скачайте исходный код luarocks. Перейдите в терминале папку с исходниками, установите систему с помощью такой коанды:
Код
install /LV 5.4 /MSVC /P C:\Lua54\luarocks
тоже поменяйте номер версии при надобности. Перейдите в папку luarocks и установите luasocket
Код
luarocks install luasocket
полученные файлы библиотеки можно скопировать из C:\Lua54\luarocks\systree\lib\lua\5.4 в корень QUIK, либо в нужное место если у вас есть соответствующая запись в package.cpath.
Все операции по компиляции и установке надо проводить в нативном терминале х64 (в нем инициализированы нужные настройки).
Спасибо! Это, конечно, более правильный путь. Однако у меня Windows 7 x64 SP1, и она совсем не едет или я разучился. Первый день исправлял одну системную ошибку за одной. Переустанавливал VS, DirectX(с проблемами). VS 2019 (бесплатная, для студентов и прочих) встала по сети без проблем, только Python отказался грузиться, но я потом поправил ошибку (указал путь к правильным dll). Сегодня добрался до первой строчки вашего примера. Сразу ошибка. Победил первую ошибку командной строки (внес пути в PATH), за ней вторая и так, видимо, до бесконечности.
Добавка переменной окружения LOAD_LIBRARY_SEARCH_DEFAULT_DIRS с этим путем, а также этого пути в PATH здесь не помогла.
На более новые версии Windows не хочу переходить, я их юзаю на работе, по необходимости, очень не нравятся. Видимо для меня Windows постепенно перестает существовать.
Модератор, удалите предыдущие два поста, пожалуйста.
Николай, Они ВЫНУЖДАЮТ переходить на всё более новое (и всё более глючное) говно. Билл здесь один из пионеров, но сейчас так делают абсолютно все. А о совместимости снизу забыли ещё в прошлом тысячелетии, и забыли сознательно.
Николай написал: Однако у меня Windows 7 x64 SP1, и она совсем не едет или я разучился.
Не едет. То есть едет на ручной тяге и я б затруднился по пунктам расписать, что куда крутить в общем случае. К сожалению, семерку будут выдавливать и дальше и с этим ничего уже не сделать. Причем явно видно, что авторы опенсорца (не конкретно этого) радостно идут навстречу майкрософту, убивая совместимость со старыми студиями, все замены в их коде абсолютно не нужны с точки зрения работоспособности или каких-то там улучшений, просто чтобы в старых студиях не собиралось без танцев.
Николай написал: Однако у меня Windows 7 x64 SP1, и она совсем не едет или я разучился.
Не едет. То есть едет на ручной тяге и я б затруднился по пунктам расписать, что куда крутить в общем случае. К сожалению, семерку будут выдавливать и дальше и с этим ничего уже не сделать. Причем явно видно, что авторы опенсорца (не конкретно этого) радостно идут навстречу майкрософту, убивая совместимость со старыми студиями, все замены в их коде абсолютно не нужны с точки зрения работоспособности или каких-то там улучшений, просто чтобы в старых студиях не собиралось без танцев.
Николай написал: А почему он в 2-3 раза больше, чем другие x64 версии этой же библиотеки?
Архив больше? Там две длл, для core и mime. Если каждая длл больше, то скорее всего потому, что здесь рантайм встроенный, в других, видимо, отдельный. Скиньте какую-нибудь из этих других длл, посмотрю точно.