Проблема решена. Разобрался. Спасибо TheXpert за консультирование.
Во-первых, не все можно слинковать статически. Если используемый ресурс поставляется только с DLL (а не с *.lib-файлами) невозможно слинковать свою DLL-ку с используемыми ресурсами полностью статически. Что важно, при этом компилятор не ругается. То есть, при включении режима Runtime Library: Multi-threaded (/MT) компилятор загружает в итоговую DLL-ку только лишь по возможности и это совершенно не гарантирует, что в итоге мы получим независимую DLL.
Во-вторых, очень важно использовать грамотный инструментарий для отслеживания всех вызовов. Dependency Walker лажает, иногда сообщает о проблемах когда их нету или наоборот не замечает трудности когда они на самом деле имеют место. Идеальный вариант отладки: Process Monitor. Тулзовина позволяет просматривать абсолютно все действия того или инного процесса. Другими словами, мы видим все возможные обращения MT4 к тем или инным файлам, видим результаты этих запросов, видим пути по которым ищутся файлы. В результате оказалось, что отсутствовали абсолютно странные библиотеки о который умалчивал Dependency Walker.
В-третьих, терминал ищет используемые советником DLL-ки в каталоге Terminal_folder\experts\libraries\, а вот если DLL-ка тянет за собой что-то другое, то эти либы должны находиться либо в системных каталогах (system/system32), либо же в одном каталоге вместе с бинарем MT4 (terminal.exe).
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Если проблема в зависимостях -- возможно ответ отсюда поможет зело:
http://stackoverflow.com/questions/14361992/dll-load-library-error-code-126
Если проблема в зависимостях -- возможно ответ отсюда поможет зело:
http://stackoverflow.com/questions/14361992/dll-load-library-error-code-126
Спасибо, попробую
Проблема решена. Разобрался. Спасибо TheXpert за консультирование.
Во-первых, не все можно слинковать статически. Если используемый ресурс поставляется только с DLL (а не с *.lib-файлами) невозможно слинковать свою DLL-ку с используемыми ресурсами полностью статически. Что важно, при этом компилятор не ругается. То есть, при включении режима Runtime Library: Multi-threaded (/MT) компилятор загружает в итоговую DLL-ку только лишь по возможности и это совершенно не гарантирует, что в итоге мы получим независимую DLL.
Во-вторых, очень важно использовать грамотный инструментарий для отслеживания всех вызовов. Dependency Walker лажает, иногда сообщает о проблемах когда их нету или наоборот не замечает трудности когда они на самом деле имеют место. Идеальный вариант отладки: Process Monitor. Тулзовина позволяет просматривать абсолютно все действия того или инного процесса. Другими словами, мы видим все возможные обращения MT4 к тем или инным файлам, видим результаты этих запросов, видим пути по которым ищутся файлы. В результате оказалось, что отсутствовали абсолютно странные библиотеки о который умалчивал Dependency Walker.
В-третьих, терминал ищет используемые советником DLL-ки в каталоге Terminal_folder\experts\libraries\, а вот если DLL-ка тянет за собой что-то другое, то эти либы должны находиться либо в системных каталогах (system/system32), либо же в одном каталоге вместе с бинарем MT4 (terminal.exe).