Установка VC++ 2010 не решает проблему загрузки DLL
У меня есть C++ .exe
составлено с /MDd
(так как я не могу использовать CLR с /MTd). Сначала я получал couldn't find x.dll
устанавливается при установке среды выполнения VC++. После того, как я установил среду выполнения VC++ 2010, я все еще получаю ошибку. Я подтвердил, что .dll
это ищет (msvcpsomethingd.dll
) находится в правильной папке ([SystemDrive]\Windows\system32
). Кто-нибудь сталкивался с этой проблемой раньше?
4 ответа
Как развернуть отладку CRT.dlls
Как развернуть CRT.dll в целом в локальную папку приложения
Короткий ответ: вам нужно явно установить среду отладки CRT для VS 2010 с пользовательским проектом установки на целевых машинах ИЛИ убедиться, что CRT.dll для платформы находятся в той же папке, что и приложение.
Вам придется явно установить CRT, если вы используете несколько версий CRT отладки (то есть x86 и x64).
Лучший способ решить эти проблемы - использовать средство зависимости.exe. Профилируйте программу, и она расскажет, чего вам не хватает.
Скомпилируйте с режимом выпуска и запустите на другом ПК. Кажется, что одна или несколько ваших DLL-библиотек скомпилированы с использованием сборки Debug или зависимостей.
Это может быть ваша библиотека, на которую ссылаются.
Убедитесь, что установлен правильный Redestributable из VC++ 2010:
- 32-битный или 64-битный, в зависимости от вашего приложения, а не от целевой ОС.
- Соответствующая версия RTM или Service Pack.