Когда нужен vcredist 2017? - PullRequest
0 голосов
/ 16 мая 2018

У меня есть проект C ++, скомпилированный с Visual Studio 2017. Ранее он был скомпилирован с Visual Studio 2015, а с vcredist 2015.

Когда я теперь хочу отправить библиотеку, которая теперь скомпилирована с Visual Studio 2017, я определенно должен отправить ее с vcredist 2017?

Альтернативный вопрос: при каких условиях мне нужно отправить мою библиотеку с vcredit 2017?

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Вы всегда должны отправлять скомпилированное приложение с повторной версией используемой версии компилятора.

Исключение составляют случаи, когда вы компилируете свое приложение со статическими версиями среды выполнения, что, в основном, означает, что в вашем приложении уже есть перенаправление.

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

0 голосов
/ 16 мая 2018

Откройте командную строку разработчика для Visual Studio.Перейдите в папку, в которой находятся ваши двоичные файлы.Выполнить:

dumpbin /imports yourprogram.exe | find "dll"

Вы можете сделать то же самое для .dll, если это ваша цель сборки.Если результат содержит какие-либо из библиотек Visual Studio 2017 DLL (MSVCP140.dll, VCRUNTIME140.dll и т. Д.), То для запуска вашей программы требуются библиотеки DLL и, следовательно, повторный доступ.

...