DLLNotFoundException - PullRequest
       14

DLLNotFoundException

0 голосов
/ 17 декабря 2010

Я использую DLL, которая является плагином для игрового движка под названием Unity3d. Я создал DLL в Visual C ++ Express 2010 на Windows 7 64-битной Ultimate Edition. DLL работает правильно на компьютере, на котором она была изначально создана.

Проблема в том, что DLL не работает в редакторе Unity3d на другом компьютере и выдает ошибку, которая в основном говорит о том, что в DLL отсутствуют некоторые ее зависимости. Целевая машина работает под управлением Windows 7 Home 64 bit (если это актуально)

Результаты из журнала ошибок Dependency Walker:

Ошибка: информация о конфигурации Side-by-Side для "C: \ Users \ Dewayne \ рабочий стол \ Shared \ vrpnplugin \ unityplugin \ построить \ выпуск \ OPTITRACKPLUGIN.DLL" содержит ошибки. Приложение не удалось запустить, потому что его неправильная конфигурация Пожалуйста, смотрите приложение Журнал событий или используйте инструмент командной строки sxstrace.exe для более подробной информации (14001).
Ошибка: по крайней мере один модуль имеет неразрешенный импорт из-за отсутствия функции экспорта в неявно зависимом модуле.
Ошибка: Обнаружены модули с разными типами ЦП.
Предупреждение. По крайней мере один модуль зависимости задержки и загрузки не найден.
Предупреждение. По крайней мере один модуль имеет неразрешенный импорт из-за отсутствия функции экспорта в модуле, зависящем от задержки и загрузки.

Файл проекта и решения Visual C ++ Express 2010 можно найти здесь . Размер ZIP-файла составляет 79 МБ, а также он содержит свои зависимости.

DLL, о которой идет речь, это OptiTrackPlugin.dll

Ответы [ 2 ]

1 голос
/ 17 декабря 2010

Проверьте зависимости в вашей DLL.Я использую средство обхода зависимостей .exe, раньше он был в комплекте с Visual C ++, но MS больше не предоставляет его.Вы можете скачать его отдельно: http://www.dependencywalker.com/

0 голосов
/ 16 марта 2011

Возможно, вы пропустили MS C ++ Runtime на клиенте, который использует вашу DLL. Если вы создали его в Visual Studio, вам необходимо установить CRT и C ++ RT на своих клиентах. Зависимость Уокер обязательно его обнаружит.

Приветствие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...