Конроль версии CRT в VS 2013
От: DiZSl  
Дата: 06.02.16 09:17
Оценка:
Привет все.

Проводим миграцию на VS 2013 с 2008 и возникла следующая проблема. Как узнать с какой версией CRT происходит линковка приложения.
Проект компилируется с использованием дефайна _BIND_TO_CURRENT_VCLIBS_VERSION. Он еще актуален для новой студии?
Раньше контролировали через автогенерируемый манифест, что было очень удобно сразу было видно все ошибки линковки: могли использовать 2 разные версии или не та версия какая нужна — в манифесте явно это указывалось.
Да и просто для контроля полезно знать тот ли redist вы поставляете в дистрибутиве.
В новой студии из манифеста все это убрали. Как теперь поступать и как вообще правильно контролировать версии рантайма?
Re: Конроль версии CRT в VS 2013
От: VTT http://vtt.to
Дата: 06.02.16 10:19
Оценка:
Project Properties->General->Platform toolset. Макрос этот явно ни к чему.
Вообще вам стоило бы сразу обновляться до VS2015, ибо там очередные изменения в составе рантайма и его распространении.
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
Re[2]: Конроль версии CRT в VS 2013
От: DiZSl  
Дата: 06.02.16 10:49
Оценка:
Здравствуйте, VTT, Вы писали:

VTT>Project Properties->General->Platform toolset. Макрос этот явно ни к чему.

VTT>Вообще вам стоило бы сразу обновляться до VS2015, ибо там очередные изменения в составе рантайма и его распространении.

Так эта тычка выбирает SDK, а не райнтайм вроде как.
Вот например описание в манифесте (как было):
<assemblyIdentity type="win32" name="Microsoft.VC90.DebugMFC" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
<assemblyIdentity type='win32' name='Microsoft.VC90.ATL' version='9.0.30729.6161' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />

Указывается что будет использоваться рантайм версии 9.0.21022 и 9.0.30729.6161 (что является ошибкой). И если будет другой рантайм хоть и от 2008 студии ничего не запустится.
Сейчас описания этого нет. Получается теперь можно устанавливать рантайм любой версии? Майкрософт так-то их периодически обновляет.
Мне просто непонятен механизм выбора рантайма для приложений в 2013.
Re[3]: Конроль версии CRT в VS 2013
От: VTT http://vtt.to
Дата: 06.02.16 11:29
Оценка:
Такой точный контроль версии рантайм dll сейчас уже не актуален.
Для 2015 это написано прямым текстом:
https://msdn.microsoft.com/en-us/library/ms235299.aspx

You don't need to install your redistributable package if the currently installed version is more recent.

Для 2013 по идее аналогично.
Говорить дальше не было нужды. Как и все космонавты, капитан Нортон не испытывал особого доверия к явлениям, внешне слишком заманчивым.
Re[4]: Конроль версии CRT в VS 2013
От: DiZSl  
Дата: 06.02.16 16:44
Оценка:
Здравствуйте, VTT, Вы писали:

VTT>Такой точный контроль версии рантайм dll сейчас уже не актуален.

VTT>Для 2015 это написано прямым текстом:
VTT>https://msdn.microsoft.com/en-us/library/ms235299.aspx
VTT>

You don't need to install your redistributable package if the currently installed version is more recent.

VTT>Для 2013 по идее аналогично.

Ок, спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.