Msvcr80.dll отсутствует. Что я собираюсь установить или что я должен обмануть в конфигурации проекта C ++
-
09-10-2019 - |
Вопрос
У меня есть устаревшая библиотека проекта MSVS2005 C ++ (DLL). Я открыл проект на рабочей станции WindowsXP с установленным MSVS2008 и Code Commited Completed. Но когда я стараюсь использовать его с исполняемым модулем, я наблюдаю за «My-library.dll или одному из его зависимостей».
Зависимость Уокер говорит мне, что msvcp80.dll, msvcr80.dll msvcr90d.dll пропускаются. Msjava.dll также пропущен. Я установил 2008 года Visual C ++ перераспределенный пакет, но проблема остается. Требуемые библиотеки не были помещены в папку System32.
Что я собираюсь установить на рабочей станции или что я должен обмануть в конфигурации проекта, чтобы избежать этой проблемы?
Заранее спасибо!
Решение
Установлен 2008 Visual C ++ перераспределенный пакет, но проблема остается.
Откуда ты взял редист?
Существует множество версий редиста, тот, который поставляется с MSVC, скорее всего, будет соответствующий. Однако есть куча вещей, которые произошли такие, как обновления безопасности ATL, и такие, так что вам нужно посмотреть, - это информация о номере версии, которая будет присутствовать в манифесте, то найдите правильную версию (или новее) для установки.
Также позаботьтесь о том, что вам понадобится Redist Debug, если вы хотите использовать отладочную сборку библиотеки на другой машине.
Другие советы
Как повторная жертва боковых сборок, с тех пор, как нечестный ужас был развязан несколько лет назад, мне пришлось разобраться с этим на регулярной основе. @Frederic - это правильное, что установка перераспределения с вашим установщиком идеально подходит, но у вас могут быть другие проблемы.
Тем не менее, если у вас есть доступ к машине Vista / Windows7, вы можете использовать Sxstrace. Это неразрушливый инструмент для отслеживания этих проблем. Вы можете использовать информацию, которая сгенерирована с использованием этого инструмента, чтобы выяснить, что ищет ваше приложение.
Запустите это на командной строке
sxstrace.exe -logfile: sxstrace.st
Теперь запустите приложение и получите ошибку
- Теперь нажмите Enter, чтобы остановить след
Теперь введите:
Sxstrace Parse -logfile: sxstrace.st -outfile: sxstrace.txt
Теперь вы можете посмотреть выходной файл и увидеть именно то, что произошло, когда приложение было запущено.
Источник: http://blogs.msdn.com/b/junfeng/archive/2006/04/14/576314.aspx.
Кроме того, вы можете взглянуть на эту статью на MSDN, поскольку она помогает с устранением неполадок этих проблем:http://msdn.microsoft.com/en-us/library/ms235342(vs.80).aspx.
Вы должны установить либо Visual C ++ 2005 перераспределенный пакет или Visual C ++ 2005 SP1 перераспределенный пакет, Поскольку ваш наследный код был скомпилирован с Visual Studio 2005 (8.0).
Используйте SP1 перераспределенный, если код был скомпилирован с VS 2005 SP1.