"Отсутствует" glew32.dll - находится в C:\windows\system32\glew32.dll, regsvr32 завершается ошибкой

У меня есть приложение, которое зависит от 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 ответ

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

Другие вопросы по тегам