03 июн. 2015 г., 12:39 от KarShomgiuffrida

Visual C ++ исполняемый файл и отсутствует MSVCR100d.dll

Я знаю, что об этом спрашивали в других местах и отвечали, но у меня есть проблемы с MS Visual Studio 2010. Я разработал исполняемый файл C ++, но если я запускаю версию Release на компьютере, на котором нет библиотеки времени выполнения VC ++ (например, msvcr100d.dll), я получаю & quot; программа не может запуститься, потому что msvcr100d.dll отсутствует на вашем компьютере & quot; ошибка.

Это странно по двум причинам:

Why is it trying to link with the debug version of the redistributable? I tried applying this fix, setting the runtime library setting to /MT instead of /MD (multi-threaded DLL), but that only made the problem worse (if I manually copied msvcr100d.dll, it then said it couldn't find msvcp110.dll).

Как я могу упаковать библиотеку времени выполнения с моим исполняемым файлом, чтобы я мог запускать ее на компьютерах, на которых не установлен MS VC 2010 или распространяемый дистрибутив?

Я знаю, что считается угрозой безопасности включать копию библиотеки DLL, поскольку она никогда не будет обновлена, но моя цель - просто отправить этот исполняемый файл нескольким друзьям в краткосрочной перспективе.

Ответы на вопрос (0)

23 дек. 2013 г., 19:34 от Daniel Bonetti

Я обновлял библиотеку VS2010 в проекте VS2012.

Просто перекомпилировал DLL на VS2012, и теперь все в порядке.

28 апр. 2015 г., 12:04 от VolAnd

MSDN Library и, как я понимаю, установка распространяемого пакета Microsoft может помочь.

Но иногда можно использовать следующее решение (в качестве решения на стороне разработчика):

В вашей Visual Studio откройтеProject properties -> Configuration properties -> C/C++ -> Code generation и измените параметрRuntime Library в/MT вместо того/MD

10 окт. 2014 г., 12:50 от SofDev

нения!

Отладочные версии приложения не подлежат распространению, а отладочные версии библиотек DLL библиотеки Visual C ++ не подлежат распространению. Вы можете развертывать отладочные версии приложений и DLL-библиотеки Visual C ++ только на других компьютерах с единственной целью отладки и тестирования приложений на компьютере, на котором не установлена Visual Studio. Для получения дополнительной информации см. Распространение файлов Visual C ++.

Я также предоставлю ссылку:http: //msdn.microsoft.com/en-us/library/aa985618.asp

10 июл. 2013 г., 16:24 от Ashutosh kumar

которое пропускает .dll, указывает, какая версия вам нужна - если она не работает, просто загрузите Microsoft Visual C ++ 2010 x86 или x64 по этой ссылке:

Для 32-битных ОС:Во

Для 64-битных ОС:Во

02 мая 2012 г., 01:13 от Cody Gray

если вы компилируете в режиме «релиз». Вы можете сказать, что это отладочные версии DLL, потому что они заканчиваются наd.

Более того, отладочная версия -н распространяемый, так что это не так просто, как «упаковать» его в свой исполняемый файл или сжать эти DL

Убедитесь, что вы компилируетевс компоненты вашего приложения в режиме «релиз», и что вы связываете правильную версию CRT и любых других используемых вами библиотек (например, MFC, ATL и т. д.).

Вывол, конечно, требуютmsvcr100.dll (обратите внимание на отсутствиеd суффикс) и некоторые другие, если они еще не установлены. Направьте своих друзей, чтобы загрузить Visual C ++ 2010 распространяемый (или 64), или включите это в приложение автоматически, собрав установщик.

20 нояб. 2013 г., 09:02 от tmighty

Я установил VS2012 и больше не нуждался в VS2010. Я хотел очистить свой компьютер, а также удалил исполняемые файлы VS2010, думая, что никакая другая программа не будет его использовать. Затем я хотел проверить свою DLL, подключив ее к программе (назовем ее программой X). Я получил то же сообщение об ошибке. Я думал, что я сделал что-то не так при компиляции DLL. Однако реальная проблема заключалась в том, что я подключил DLL к программе X, и программа X была скомпилирована в VS2010 с отладочной информацией. Вот почему ошибка была брошена. Я перекомпилировал программу X в VS2012, и ошибка исчезла.

ВАШ ОТВЕТ НА ВОПРОС