1

У меня есть приложение, которое зависит от glew32.lib/.dll для запуска. .Lib находится в каталоге VS2005 SDK и прекрасно работает для компиляции. .Dll поместили (через cmd.exe, запущенный от имени администратора) в C:\windows\system32.

Когда я пытаюсь запустить приложение, оно говорит мне, что glew32.dll не на компьютере.

Я попытался зарегистрировать dll через regsvr32.exe, который завершается с помощью следующего сообщения:

Модуль "glew32.dll" не удалось загрузить. Убедитесь, что двоичный файл хранится по указанному пути, или отладьте его, чтобы проверить наличие проблем с двоичным или зависимым файлом.DLL файлы. Указанный модуль не может быть найден.

Я ударил его с DependencyWalker, и это только прямая зависимость является opengl32.dll. opengl32.dll указан как отсутствующий две зависимости (ну, зависимости зависимостей зависимостей зависимостей) - GPSVC.dll и IESHIMS.dll ... оба существуют, GPSVC.dll в system32, IESHIMS.dll в ../winsxs/x86_microsoft-windows-ie-ieshims- [hex (guid?)]

Я пошел дальше и скопировал IESHIMS.dll в system32, но безрезультатно. Это все еще не будет сотрудничать.

Мысли (кроме использования Linux, где ldconfig будет просто работать .. ;)?

1 ответ1

0

Хорошим инструментом для отслеживания подобных проблем является Sysinternals ProcMon (или более старый SysInternals FileMon, который доступен на некоторых зеркальных сайтах и которым проще пользоваться). С правильными параметрами фильтрации вы сможете увидеть, какие библиотеки DLL пытается загрузить Windows (и откуда).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .