Программа построена с MVS2012 "отсутствует MSVCR120D.dll"

3271
lolgab123

Я начал программировать на Visual Studio Express 2012 вместо Code :: Blocks, что гораздо красивее, но теперь у меня ОГРОМНАЯ проблема: моя цель - выпустить бесплатный проект OpenSource с множеством образовательных / забавных программ, которые можно ЗАГРУЗИТЬ из другие, но когда они это делают, он говорит, что "MSVCR120D.dll" отсутствует, поэтому они не могут ничего открыть! Точно такой же проект был скомпилирован на Code :: Blocks, и все работало отлично, но теперь с Visual Studio ничего не работает!

Итак, вот мой вопрос: как я могу ПРОСТО Скомпилировать мой код (только один файл .c или .cpp), чтобы другие могли запустить его без проблем?

-1
Почему они не могут просто скачать Распространяемый VC ++ от Microsoft? Ramhound 9 лет назад 0
Программы, которые я написал, действительно предназначены для широкой и обычной публики, которая может не обладать большими компьютерными знаниями, а некоторые люди просто не хотят ничего устанавливать ... Есть ли способ, как и почти все существующие программы, скомпилировать мой код, так что ничего не нужно устанавливать? lolgab123 9 лет назад 0
Вот в чем вопрос: как ты это делаешь? Мои программы используют только базовые библиотеки и заголовки, такие как или же ... См. Https://docs.google.com/file/d/0B2DQgwgiU8LZOWlYSEpodDRsWjA/edit. lolgab123 9 лет назад 0

2 ответа на вопрос

2
Daniel B

If it’s missing MSVCR*D.dll, it’s a debug build. The debug runtime is not part of the redistributable package. Just build a release version.

Oh and by the way: The number 120 indicates Visual C++ 2013, not 2012.

О боже, я не знал, что это вариант ... Мне очень жаль, но спасибо! Я скоро проверю это и скажу, сработало ли это lolgab123 9 лет назад 0
О, может быть ... Это версия 12.0, так что, поскольку 2010 был 10.0, я думал, что 12.0 был 2012. Это что-то меняет? lolgab123 9 лет назад 0
Нет. Это просто означает, что вы используете более современную версию VC ++. Это важно при принятии решения о том, какой распространяемый пакет установить. Daniel B 9 лет назад 0
1
ilian

You can build your application with the static runtime using the /MT compile flag. This will eliminate the requirement of having the runtime installed when running the compiled binary.

More information about compiler flags: https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx

Спасибо, проверим, если первое решение (переход в режим релиза) не работает lolgab123 9 лет назад 0
@ lolgab123 Вы всегда можете сделать и то и другое, так что пользователям не придется устанавливать распространяемый пакет Visual C ++. Daniel B 9 лет назад 0
Хорошо спасибо! Я обязательно проверю это сегодня вечером! Я тоже проверю этот ответ, если смогу;) lolgab123 9 лет назад 0
мммхххх ... Благодаря ссылке кажется, что в соответствующем случае используется MD, а не / MT ... А как вы его используете? Это просто / MD [_MD] где-то в первых строках кода? lolgab123 9 лет назад 0
@ lolgab123 Вы можете установить параметры компилятора в IDE: https://msdn.microsoft.com/en-us/library/3600tzxa.aspx Для получения дополнительной информации о разнице между / MT и / MD, пожалуйста, посмотрите на http : //stackoverflow.com/a/6799647 ilian 9 лет назад 0