Не подключается DLL.

 
Пишу прокладку для WebSocket. Сделал dll на websocketpp. При попытке подключения в терминале выдает ошибку: 2022.07.12 19:29:38.114 Cannot load 'TestDLL.dll' [126]. При этом, если не подключать в код DLL никаких классов - этой ошибки нет. Возможно проблема в статической линковке?

 
DrSky:
Пишу прокладку для WebSocket. Сделал dll на websocketpp. При попытке подключения в терминале выдает ошибку: 2022.07.12 19:29:38.114 Cannot load 'TestDLL.dll' [126]. При этом, если не подключать в код DLL никаких классов - этой ошибки нет. Возможно проблема в статической линковке?

DLL используют соглашения ABI С (у С++ их нет вообще стандартных)

поэтому для методов классов нужны функциональные обёртки. extern "С" и __stdcall . И убедитесь что линковщик не подставляет лишних символов к именам (ту-же @)

 
DrSky:
Пишу прокладку для WebSocket. Сделал dll на websocketpp. При попытке подключения в терминале выдает ошибку: 2022.07.12 19:29:38.114 Cannot load 'TestDLL.dll' [126]. При этом, если не подключать в код DLL никаких классов - этой ошибки нет. Возможно проблема в статической линковке?

Операционная система не может найти дополнительные DLL, от которых зависит ваша DLL.

На это указывает ошибка 126. Это если сама ваша DLL нашлась по пути.

 
MetaQuotes #:

Операционная система не может найти дополнительные DLL, от которых зависит ваша DLL.

На это указывает ошибка 126. Это если сама ваша DLL нашлась по пути.

а кстати, почему MT так и не добавляет MQL5/Libraries через SetDllDirectory() ?

 
MetaQuotes #:

Операционная система не может найти дополнительные DLL, от которых зависит ваша DLL.

На это указывает ошибка 126. Это если сама ваша DLL нашлась по пути.

Спасибо, разобрался через Process Monitor. 

Причина обращения: