Я хочу построить строительные блоки Intel Threading Building Blocks из командной строки, используя Visual Studio 2015 x64. Я скачал последнюю стабильную версию с https://www.threadingbuildingblocks.org/.
Каталог tbb2017_20161128oss\build\vs2012
помимо некоторых других файлов содержит:
makefile.sln
tbb.vcxproj
tbbmalloc.vcxproj
tbbmalloc_proxy.vcxproj
Чтобы построить отладочную версию TBB, я попробовал следующую команду в VS2015 x64 Native Tools Command Prompt
:
Devenv makefile.sln /build Debug /project tbb
Но я получаю следующую ошибку:
Microsoft Visual Studio 2015 Version 14.0.25420.1.
Copyright (C) Microsoft Corp. All rights reserved.
1>------ Build started: Project: tbb, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppBuild.targets(344,5): warning MSB8003: Could not find WindowsSDKDir variable from the registry. TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
1> generating tbb.def file
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppCommon.targets(172,5): error MSB6006: "cmd.exe" exited with code -1073741515.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Проблема здесь в том, что файлы VS2012 необходимо обновить. Когда я открываю файл makefile.sln
вручную, появляются эти окна:
Если я нажму кнопку "ОК" и повторю попытку env makefile.sln /build Debug /project tbb
, все будет нормально.
Поскольку я планирую собирать TBB на нескольких компьютерах, эта ручная работа раздражает. Можно ли этого избежать? Есть ли способ обновить решение из командной строки?