Проблема с подключением zeromq

Страницы: 1
RSS
Проблема с подключением zeromq
 
Здравствуйте.
Хочу передавать данные из QUIK в стороннее приложение через ZeroMQ. Поставил luadist, через него поставил llthreads, lzmq. Данный код работает в интерпретаторе lua, идущим с luadist.
Код
package.cpath = getScriptPath() .. "\\?.dll;".. package.cpath
function main()
   zmq = require "lzmq"
   f = io.open("zmq_version.txt", "a")
   f:write(string.format("%d.%d.%d", zmq.version(true)))
   f:close()
end
После копирования нескольких библиотек (в том числе и скомпилированных через luadist llthreads и lzmq, libzmq; см. https://yadi.sk/d/VLB6NFfLuk28b) в папку со скриптом, интерпретатор lua, идущий в комплекте lua for Windows, тоже без проблем интерпретирует этот код.
А вот QLUA отказывается с ошибкой:
Код
error loading module 'lzmq' from file 'Z:\lua\lzmq.dll':
    Указан недопустимый путь.
Подскажите, пожалуйста, решить данный вопрос.
 
предположу, что lzmq.dll обращается к какой-то библиотеке и не находит ее.
Проверьте зависимости lzmq.dll программой depends
 
Николай, спасибо за ответ.

К сожалению, depends.exe показывал информацию, вводящую в заблуждение (похоже по описанию: https://stackoverflow.com/questions/17023419/win-7-64-bit-dll-problems). Решил способом, который был описан в одном из ответов: запустил ProcessMonitor, посмотрел на неудавшиеся поиски DLL программы info.exe, нашёл нужные библиотеки. Ими оказались libgcc_s_dw2-1.dll и libstdc++-6.dll, которые находились в C:\MinGW\bin. Почему они не находились — большой вопрос, ведь этот путь был в %Path%.

В итоге скрипт заработал (вывел версию в zmq_version.txt), однако завершается он с ошибкой "LuaVM closed with error". Нашёл что-то похожее здесь: https://forum.quik.ru/forum10/topic523/ Пока в чём ошибка не понял, ещё не ознакомился достаточно глубоко с lua и qlua, но функции, первыми пришедшие в голову: assert и PrintDbgStr выяснить причину не помогли.
Страницы: 1
Читают тему
Наверх