У меня есть простая C DLL, которая предоставляет функции из статической библиотеки. DLL компилируется без ошибок, и я могу запустить DUMPBIN на ней, чтобы увидеть экспорт. Однако, когда я пытаюсь загрузить его с помощью DllImport
в C #, он говорит следующее:
System.DllNotFoundException: невозможно загрузить DLL 'ei.dll': указанный модуль не найден. (Исключение из HRESULT: 0x8007007E).
Это точно в правильном каталоге. Итак, я прочитал, что было бы неплохо попробовать Dependency Walker на случай, если мне нужно будет включить что-то еще. К сожалению, когда я пытаюсь открыть свою DLL в DW, я получаю это:
Ошибка: хотя бы один файл не был 32-разрядным или 64-разрядным модулем Windows.
Вот моя cl
команда:
set ERL_INTERFACE_DIR=C:\Progra~1\erl5.7.2\lib\erl_interface-3.6.2\
call vcvars32.bat
cl /I%ERL_INTERFACE_DIR%include /LD ei.c ei.lib Ws2_32.lib /link /LIBPATH:%ERL_INTERFACE_DIR%lib
Что может быть причиной этого?