Вопрос по dll, visual-c++, visual-studio – Visual Studio 11 и обработка msvcr110.dll

8

Я решил попробовать Visual Studio 11, пришел к выводу, что он мне не понравился, и быстро удалил его. Похоже, что многие из моих старых проектов сейчас терпят крах со следующей ошибкой.

The program can't start because MSVCR110D.dll is missing from your computer. Try reinstalling the program to fix this problem.

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

Короче говоря, вопрос заключается в том, как я могу отменить изменения, внесенные в Visual Studio 11, какими бы они ни были.

Удаление VS2012 обязательно удалит эту DLL. Это отладочная версия CRT и включена только в VS. Используется для отладки программ на C или C ++. Похоже, вы знаете некоторых программистов, которыеделат как VS2012 и сделали невероятное, они развернули сборку Debug своих программ. Очень плохая практика, копирование msvcr110d.dll запрещено именно по этой причине. Hans Passant

Ваш Ответ

4   ответа
7

Microsoft не разрешает распространять отладочную dll; они доступны только при установленной Visual Studio.

Даже если вы сможете перестроить свои проекты как сборки выпуска, вы можете столкнуться с новой проблемой на компьютерах при попытке запустить проекты, а именно:missing mvcr110.dll.

В этом случае, и Visual Studio не нужно устанавливать, вы можете получить недостающую DLL от Microsoft. Microsoft предоставляет загружаемые установщики для этих распространяемых DLL по адресу:

http: //www.microsoft.com/en-us/download/details.aspx ID = 30679

Запустите соответствующие установщики.

VSU3 \ vcredist_arm.exe, VSU3 \ vcredist_x64.exe, VSU3 \ vcredist_x86.exe

+ 1; совет для noobs (me) - даже если ваша ОС x64, вам может понадобиться x86 (возможно, потому что мой cpp нацелен на win32? не уверен) fiat
3

http: //www.rhyous.co (это говорит о msvcrt100.dll, но это тот же принцип):

"Этот msvcr100.dll - это распространяемая библиотека Microsoft Visual C ++, необходимая для проектов, созданных с помощью Visual Studio 2010. Это обозначено буквами dll. MS = Microsoft, V = Visual, язык программирования C = C, R = время выполнения , 100 = Версия "

Если вы создаете проект C ++ в Visual Studio 2010, этот файл, вероятно, необходим. вам нужно установить распространяемый MS, но, похоже, он еще не доступен, смотрите эту ветку -http: //social.msdn.microsoft.com/Forums/en-US/parallelcppnative/thread/8963c3d9-26ec-4748-af95-7c696a27c43

Я предполагаю, что ваш компилятор все еще VS2011, поэтому ваша программа зависит от DLL vs2011 ..

3

их проектов с v110 до v100 (или v90).

Чтобы изменить набор инструментов проекта В Visual Studio в обозревателе решений откройте контекстное меню для своего проекта и выберите «Свойства».

В диалоговом окне «Страницы свойств» откройте раскрывающийся список «Конфигурация» и выберите «Все конфигурации».

На левой панели диалогового окна разверните Свойства конфигурации и выберите Общие.

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

Выберите кнопку ОК.

Это решило проблему с OpenCV и VS 2012. Большое спасибо. Adam Goodwin
0

том, что в новом проекте используется платформа v110, а в старом - платформа v110. Это означает, что теперь мне нужно распространять Microsoft Visual C ++ 2012, как указано здесь:http: //www.admin-enclave.com/en/solutions/windows/82-how-to-fix-the-program-cant-start-because-msvcr110-dll-is-missing-from-your-computer -ошибка-на-windows.html

Похожие вопросы