Google не может найти это сообщение об ошибке, которое означает (хотя не совсем точно :)), что это не системное сообщение, а пользовательское, полученное из кода в dll. Так что DLL делает что-то хитрое. Я полагаю, он пытается дважды отправить ваш вызов другой функции внутри.
Несколько вещей, которые я предлагаю вам попробовать:
Запустить конфигурацию x86. В свойствах проекта -> вкладка Build установите платформу x86. это предполагает, что dll является dll x86.
dumpbin / headers orc.dll
File Type: DLL
FILE HEADER VALUES
14C machine (**x86**)
4 number of sections
4CE7B6FC time date stamp Sat Nov 20 11:54:36 2010
0 file pointer to symbol table
0 number of symbols
E0 size of optional header
2102 characteristics
Executable
32 bit word machine
DLL
Эта командная строка должна указывать вам битность. В случае, если это 64-битная версия, запустите 64-битную конфигурацию, но я уверен, что она 32-битная.
- Не включайте dll в проект. Я думаю, вы уже это делаете. Убедитесь, что dll находится в папке, которая находится в переменной окружения% PATH%. Когда вы запускаете это в командной строке:
где ocr.dll
должен сказать вам, где находится dll. Если он не добавляет папку, в которой установлена dll, в% PATH%.