Visual Studio 2013 msvcr120 до msvcr100

Можно ли изменить файл restrib на msvcr100, чтобы другие компьютеры могли запускать программу без проблем с файлом .dll? Если да, то как мне это получить?

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

Можно ли установить Plattformtoolset без старой версии VisualStudio?

Ответы

Ответ 1

У вас есть несколько вариантов:

  • Установите VS2010 на машине и установите для параметра "Набор инструментов платформы" значение v100.
  • Установите Windows SDK v7.0A из здесь, который ДОЛЖЕН/МОЖЕТ добавить новую опцию в меню Platform Toolset в VS2013. При этом это может быть довольно сложно. (Он редко работал у меня прямо из коробки). Обратите внимание, что если вы используете MFC в своем приложении, этот параметр не подходит для вас - библиотеки MFC не включены в этот SDK.
  • Получите своих пользователей, чтобы установить распространяемый пакет Microsoft VS 2013 С++ с здесь и продолжать независимо.
  • Статическая ссылка на время выполнения VS2013 вместо использования динамической привязки к DLL файлам времени исполнения. Вы можете установить это в IDE через настройки проекта в C/C++ > Code Generation > RunTime Library > Multi-threaded (/MT) или (/MTd). Весь необходимый код будет скомпилирован в ваше приложение, что сделает файлы более крупными, но позволит избежать проблем, о которых вы упоминаете.

Ответ 2

В Project > Properties > General есть параметр, называемый Platform toolset. Вы можете использовать это, чтобы изменить версию используемой инструментальной привязки.

screenshot

Ответ 3

Относительно изменения набора инструментов платформы: он меняет компилятор, поэтому возможности С++, более новые, чем Visual Studio 2010, не будут компилироваться, Он также требует установки другой версии.

Лучший способ справиться с этим - предоставить им Visual С++ Redistributable для Visual Studio 2013.

Вы можете либо сделать это самостоятельно, либо сделать установщик.