Приложение не удалось запустить из-за MSVCP100D.dll не был найден, переустановка приложения может работать - PullRequest
12 голосов
/ 12 января 2011

Я гуглил по этому поводу и понял, что, возможно, есть несколько причин, поэтому я опишу свой сценарий.

Это происходит, когда мое приложение пытается загрузить файл DLL, созданный в другой версии Visual Studio (2010), и если я собираю тот же проект в Visual Studio 2008, файл DLL загружается просто отлично ...

Я не знаю, имеет ли это значение, но версия DLL-файла Visual Studio 2010 построена на Windows 7 x32, а 64-разрядная версия Windows Vista находится на другой стороне с Visual Studio 2008.

Ответы [ 3 ]

12 голосов
/ 12 января 2011

Если вы динамически ссылаетесь на среду выполнения MSVC, вам нужно установить эту среду выполнения на каждую машину, на которой будет запускаться ваше приложение.

Обратите внимание, что в этом случае вы, по-видимому, ссылаетесь на отладочную версию среды выполнения, распространять приложения, связанные с отладочной версией среды выполнения, ненормально.

7 голосов
/ 15 декабря 2011

Если вы не хотите распределять среду выполнения, вы можете переключить параметры библиотеки времени выполнения в Visual Studio (Свойства -> C / C ++ -> Генерация кода -> Библиотека времени выполнения) с / MD на / MT или с / MDdк / MTd.

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

2 голосов
/ 08 марта 2014

Просто небольшой совет: НЕ ДОБАВЛЯЙТЕ файлы * 248d.lib при сборке и запуске в RELEASE версии.

Я следовал советам из разных блогов и случайно добавил как * 248d.lib, так и файлы 248.lib. В основном в компоновщике Ввод Добавление зависимостей , убедитесь, что в нем нет файлов * 248d.lib (здесь 248 - версия 2.4.8).

Я часами размышлял, почему в режиме выпуска что-то не работает, пока меня не поразило, что есть две копии файлов .lib: одна * 248 и другая * 248d. Если вы включите любой из d-файлов в режиме выпуска, вы получите проблему с DLL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...