MSVCR80.DLL отсутствует. Что я должен установить или что я должен обмануть в конфигурации проекта C++
У меня есть устаревшая библиотека проекта msvs2005 C++ (dll). Я открыл проект на рабочей станции WindowsXP с установленным msvs2008 и скомпилированным кодом. Но когда я пытаюсь использовать его с исполняемым модулем, я наблюдаю "my-library.dll или одна из его зависимостей не найдена".
Зависимость Уокер говорит мне, что MSVCP80.DLL, MSVCR80.DLL, MSVCR90D.DLL отсутствуют. MSJAVA.DLL также отсутствует. Я установил распространяемый пакет Visual C++ 2008, но проблема остается. Необходимые библиотеки не были помещены в папку System32.
Что я должен установить на рабочую станцию или что нужно сделать в конфигурации проекта, чтобы избежать этой проблемы?
Заранее спасибо!
3 ответа
установил распространяемый пакет Visual C++ 2008, но проблема остается.
Откуда вы взяли редист?
Существует множество версий Redist, наиболее подходящей из которых является MSVC. Однако произошло множество вещей, таких как обновления безопасности ATL, и поэтому вам нужно посмотреть информацию о номере версии, которая будет присутствовать в манифесте, а затем найти нужную версию (или более новую) для установки.
Также позаботьтесь о том, что вам понадобится переадресация отладки, если вы хотите использовать отладочную сборку библиотеки на другом компьютере.
Как повторная жертва собраний бок о бок, так как этот ужасный ужас был развязан несколько лет назад, мне приходилось сталкиваться с этим на регулярной основе. @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 с пакетом обновления 1 (SP1), поскольку ваш устаревший код был скомпилирован с помощью Visual Studio 2005 (8.0).
Используйте распространяемый пакет SP1, если код был скомпилирован с VS 2005 SP1.