2017-01-17 28 views
3

Я установил Visual Studio 2017 Build Tools. После установки перед отправкой только командная команда разработчика x86. Начало → Программы → Visual Studio 2017 → Инструменты Visual Studio. Нет запросов для x64 и ARM. (Обычно есть около 6 подсказок для разработчиков на выбор).Где протестировать разработчики x64 и ARM для VS2017?

Где находятся инструменты для сборки для x64 и ARM?


UPDATE (JAN-18-2017)

После установки весь Windows 10 SDK, Build 15003 в соответствии с инструкциями @ magicandre1981, я не могу найти подсказки проявитель. Я не могу найти их в меню «Пуск»; и сбрасываясь в оболочку Git Bash, и поиск их возвращает 0 результатов.

В приведенных ниже имен, vsdevcmd.bat является то, что было установлено с помощью VC++ построить инструменты для 2017. vcbuildtools.bat это то, что было установлено с помощью VC++ построить инструменты для 2015.

MINGW64 /c/Program Files (x86)/Windows Kits/10 
$ find . -iname 'vsdevcmd.*' 

$ find . -iname 'vcbuildtools.*' 

$ find . -iname '*.bat' 

$ find . -iname '*.cmd' 
./bin/10.0.15003.0/arm/SecureBoot/DeleteKitsPolicy.cmd 
./bin/10.0.15003.0/arm/SecureBoot/InstallKitsPolicy.cmd 
./bin/10.0.15003.0/arm64/install-sampleprovider.cmd 
./bin/10.0.15003.0/arm64/uninstall-sampleprovider.cmd 
./bin/10.0.15003.0/x64/install-sampleprovider.cmd 
./bin/10.0.15003.0/x64/uninstall-sampleprovider.cmd 
./bin/10.0.15003.0/x86/DismFoDInstall.cmd 
./bin/10.0.15003.0/x86/GenerateUnionWinMD.cmd 
./bin/10.0.15003.0/x86/install-sampleprovider.cmd 
./bin/10.0.15003.0/x86/uninstall-sampleprovider.cmd 
./bin/arm/SecureBoot/DeleteKitsPolicy.cmd 
./bin/arm/SecureBoot/InstallKitsPolicy.cmd 
./bin/arm64/install-sampleprovider.cmd 
./bin/arm64/uninstall-sampleprovider.cmd 
./bin/x64/install-sampleprovider.cmd 
./bin/x64/uninstall-sampleprovider.cmd 
./bin/x86/DismFoDInstall.cmd 
./bin/x86/GenerateUnionWinMD.cmd 
./bin/x86/install-sampleprovider.cmd 
./bin/x86/uninstall-sampleprovider.cmd 
./Debuggers/x64/srcsrv/cv2http.cmd 
./Debuggers/x64/srcsrv/cvsindex.cmd 
./Debuggers/x64/srcsrv/p4index.cmd 
./Debuggers/x64/srcsrv/ssindex.cmd 
./Debuggers/x64/srcsrv/svnindex.cmd 
./Debuggers/x64/srcsrv/tfsindex.cmd 
./Debuggers/x64/srcsrv/vssindex.cmd 
./Debuggers/x64/srcsrv/walk.cmd 
./Debuggers/x86/srcsrv/cv2http.cmd 
./Debuggers/x86/srcsrv/cvsindex.cmd 
./Debuggers/x86/srcsrv/p4index.cmd 
./Debuggers/x86/srcsrv/ssindex.cmd 
./Debuggers/x86/srcsrv/svnindex.cmd 
./Debuggers/x86/srcsrv/tfsindex.cmd 
./Debuggers/x86/srcsrv/vssindex.cmd 
./Debuggers/x86/srcsrv/walk.cmd 
./Windows Performance Toolkit/gpuview/log.cmd 
./Windows Performance Toolkit/gpuview/log_mem.cmd 
./Windows Performance Toolkit/WdfPerfEnhancedVerifier.cmd 

$ 

от отчаяния, я скопировал запрос разработчика Build Tools 2017 (для x86) и добавила amd64_arm в качестве инструментов сборки 2015 года. Это приводит к неудаче:

[ERROR:parse_cmd.bat] Invalid command line argument: 'amd64_arm'. Argument will 
be ignored. 
********************************************************************** 
** Visual Studio 2017 RC Developer Command Prompt v15.0 
** Copyright (c) 2016 Microsoft Corporation 
********************************************************************** 
[ERROR:VsDevCmd.bat] *** VsDevCmd.bat encountered errors. Environment may be inc 
omplete and/or incorrect. *** 

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools> 

Больше безысходность ... Я начал отслеживание msiexec installers using process monitor и examining MSI contents using 7-zip. Лучшее, что я могу сказать, нет никаких разработчиков подсказок, даже в Инструменты разработчика MSI инсталлятор:

enter image description here

+0

Я обновил свой ответ с шагами, чтобы получить приложения для рабочего стола, скомпилированные для ARM/ARM64 с VS2017 15.4 и Win10 16299 SDK – magicandre1981

ответ

1

Установите Windows 10 SDK и WDK (по крайней мере, построить 16299), чтобы получить ARM компилятор для настольных приложений.

enter image description here

Откройте конфигурацию проекта и создать ARM (64) конфигурации:

enter image description here

Если вы пытаетесь скомпилировать его, вы получите сообщение об ошибке, что ARM64 не поддерживается для рабочего стола:

enter image description here

Чтобы исправить это, выгрузите про ект и открыть его в редакторе и добавьте строку <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support> в отладки и выпуска вход для ARM64:

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration"> 
    <ConfigurationType>Application</ConfigurationType> 
    <UseDebugLibraries>true</UseDebugLibraries> 
    <PlatformToolset>v141</PlatformToolset> 
    <CharacterSet>Unicode</CharacterSet> 
    <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration"> 
    <ConfigurationType>Application</ConfigurationType> 
    <UseDebugLibraries>false</UseDebugLibraries> 
    <PlatformToolset>v141</PlatformToolset> 
    <WholeProgramOptimization>true</WholeProgramOptimization> 
    <CharacterSet>Unicode</CharacterSet> 
    <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support> 
    </PropertyGroup> 

и WindowsSDKDesktopARMSupport для 32Bit ARM.

Сохранит изменения, загрузите проект снова и теперь компиляция работает отлично:

enter image description here

+0

Спасибо @ magicandre1981. Я не могу проверить это на несколько часов, но я вернусь. Есть еще два вопроса, которые вы можете сделать легко на основе *** arm64-приложений ***: [Обнаружение ARM-64 в препроцессоре?] (Http://stackoverflow.com/q/37244202) и [ARM SHA расширения и «ошибка C3861: vsha1h_u32: идентификатор не найден»] (http://stackoverflow.com/q/41646026). Если вы не ответите, я буду для будущих посетителей. – jww

+0

Еще раз спасибо @ magicandre1981. Загрузка недоступна для меня. Ну, хорошо, это была хорошая попытка ... – jww

+0

вы можете присоединиться к инсайдерской программе без проблем. HERE - это ссылка DL в течение следующих 24 часов: https://software-download.microsoft.com/pr/Windows_InsiderPreview_SDK_en-us_15003.iso?t=8e42d9d8-4805-4671-8e25-be1fc6513f37&e=1484803567&h=dd5cdb23f8c1efb26c8897059a777df8 – magicandre1981

7

Разработчик проворных летучие файлы, кажется, были изменены немного в VS 2017. Вместо того, чтобы иметь фиксированный набор предопределенных подсказки разработчика, вы можете настроить его еще больше.

Чтобы получить приглашение разработчика, например. arm, добавьте -arch=arm -host_arch=amd64 в качестве параметров в VsDevCmd.bat (например, в ярлыке в меню «Пуск»).

Полный список доступных вариантов можно найти в \Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\vsdevcmd\core\parse_cmd.bat или позвоните по телефону "\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\vsdevcmd" -help.

Я не уверен, если это действительно документирована в любом месте, или, если это будет исправлено и/или задокументированы лучше для окончательной версии VS 2017.

Установка 10 SDK для Windows инсайдер просмотра не имеет никакого отношения к это; автономный Windows SDK не содержит компиляторов, только заголовки и библиотеки ссылок.

+1

Чтобы сэкономить время, опции '-arch':' x86', 'amd64',' arm'. – Timmmm

+0

За исключением того, что рука не работает: 'vsdevcmd -arch = arm' приводит к ошибке' ERROR: Invalid host architecture 'arm'.', даже если у вас установлена ​​последняя (15063) Windows 10 SDK с инструментами ARM. – Akeo

+0

Вы также добавили '-host_arch = amd64'? В противном случае может показаться, что вы хотите иметь ту же архитектуру хост-инструментов, что и цель. – mstorsjo