Cannot load ... *.dll [54] или [127]

 

что значат ошибки 54 и 127 ???

---

PS/ целый день собираю один проект по образу и подобию имеющегося  - и такая дребедень, целый день :-( Блин, это 30 минут набросать код и весь день биться головой ап-стену...

 
Maxim Kuznetsov:

что значат ошибки 54 и 127 ???

---

PS/ целый день собираю один проект по образу и подобию имеющегося  - и такая дребедень, целый день :-( Блин, это 30 минут набросать код и весь день биться головой ап-стену...

Если возникают при загрузке dll, то это коды GetLastError.

Правда, не понимаю, причем тут ошибка 54 (ERROR_NETWORK_BUSY), но ошибка 127 - это отсутствие вызываемой функции в dll. В ранних версиях МТ4 это решалось добавлением описания фугкций в def-файл:

; <имя проекта>.def: объявляет параметры модуля для DLL.

LIBRARY

EXPORTS
    ; Сюда можно направлять явные операции экспорта
System Error Codes (0-499) - Windows applications
  • 2018.05.31
  • windows-sdk-content
  • docs.microsoft.com
The System Error Codes are very broad.
 
Ihor Herasko:

Если возникают при загрузке dll, то это коды GetLastError.

Правда, не понимаю, причем тут ошибка 54 (ERROR_NETWORK_BUSY), но ошибка 127 - это отсутствие вызываемой функции в dll. В ранних версиях МТ4 это решалось добавлением описания фугкций в def-файл:

не первый год тут и понимаю что где-то что-то просто по невнимательности пропустил, НО

LIBRARY julia4mt
EXPORTS
    jmt_Hello
    jmt_OnInit
    jmt_OnDeInit
    jmt_eval
    jmt_eval_double
    jmt_eval_int
    jmt_double
    jmt_int

def файл на месте :-( в курсе что без него никак...

PS/ это я Julia (https://julialang.org) пытаюсь приткнуть, благо что High-Level функций там раз-два-три..по образу и подобию рабочего Tcl

The Julia Language
  • Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman, et al.
  • julialang.org
Julia is designed from the ground up to be very good at numerical and scientific computing. This can be seen in the abundance of scientific tooling written in Julia, such as the state-of-the-art differential equations ecosystem (DifferentialEquations.jl), optimization tools (JuMP.jl and Optim.jl), iterative linear solvers...
 
и как может возникать NETWORK_BUSY при загрузке DLL ???
 

Может глаз замылен - гляньте что может быть не то в Makefile (уже даже и не в студии собираю, чтобы всё контроллировать) или в макросах Julia4mt.h

там кода - слёзы, де-факто просто переброс вызовов туда-сюда

Файлы:
Julia4MT.zip  144 kb
 
Maxim Kuznetsov:

Может глаз замылен - гляньте что может быть не то в Makefile (уже даже и не в студии собираю, чтобы всё контроллировать) или в макросах Julia4mt.h

там кода - слёзы, де-факто просто переброс вызовов туда-сюда

У меня выдает ошибку 126. А это указание на отсутствие доп библиотек. Такое случалось, если компилировал dll не в статике (MFC в статической библиотеке), а в общей.

 
Ihor Herasko:

У меня выдает ошибку 126. А это указание на отсутствие доп библиотек. Такое случалось, если компилировал dll не в статике (MFC в статической библиотеке), а в общей.

у вас 126 может выдавать за отсутствие инталляции Julia по путям.

у меня такого кода не получалось :-) что впрочем уже достижение

PS/ MFC не используются - только std::C11 максимум, и то исключительно для единственного мютекса. А так там вообще нет ничего - принял вызов, отправил в libjulia.dll. Немного топтания при ините - только для защиты от deadlock

 

можно поиском по форуму "error 127"

https://www.mql5.com/ru/forum/106913

https://www.mql5.com/ru/forum/148357/page5#comment_3732483

https://www.mql5.com/ru/forum/132769/page2#comment_3385502

....

очень похоже, что экспорт имени функции некорректно выполнен, вот МТ4 и не видит такое имя

пример из этой статьи точно работает под МТ4 https://www.mql5.com/ru/articles/18 я проверял неделю назад в VS2017

My EA can not call function from Matlab -- error 127 What is the problem?
My EA can not call function from Matlab -- error 127 What is the problem?
  • 2008.02.07
  • www.mql5.com
I got the dll using mcc command in Matlab, but I import the dll in my EA, it can not call the Matlab function, Anybody pls help. thanks...
 
Igor Makanu:

можно поиском по форуму "error 127"

https://www.mql5.com/ru/forum/106913

https://www.mql5.com/ru/forum/148357/page5#comment_3732483

https://www.mql5.com/ru/forum/132769/page2#comment_3385502

....

очень похоже, что экспорт имени функции некорректно выполнен, вот МТ4 и не видит такое имя

пример из этой статьи точно работает под МТ4 https://www.mql5.com/ru/articles/18 я проверял неделю назад в VS2017

Кстати, правильно. Нужно вместо:

#define JULIA4MT_API __declspec(dllexport)

написать:

#define JULIA4MT_API extern "C" __declspec (dllexport)
 
Ihor Herasko:

если поиграться с декларацией не помогло, еще вариант - отсутствие студийной рантайм библиотеки - msvcrt.dll - найти ее и подложить туда где ее видно или компилить как статику.