VS2017的x64和ARM开发人员提示在哪里?

时间:2017-01-17 02:19:35

标签: visual-studio windows-8.1 toolchain

我安装了Visual Studio 2017 Build Tools。安装后,导航开始→程序→Visual Studio 2017→Visual Studio工具时,只有x86开发人员命令提示符。没有x64和ARM的提示。 (通常有大约6个开发人员提示可供选择)。

x64和ARM的构建工具在哪里?

更新(JAN-18-2017)

安装整个Windows 10 SDK,根据@ magicandre1981指令构建15003后,我找不到Developer Prompts。我在“开始”菜单中找不到它们;并且放入Git Bash shell并搜索它们会返回0结果。

在下面的名称中,vsdevcmd.bat是VC ++ Build Tools for 2017安装的内容。vcbuildtools.bat是VC ++ Build Tools for 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

$

出于绝望,我复制了2017 Build Tools Developer Prompt(适用于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 monitorexamining MSI contents using 7-zip。我能说的最好,即使在Developer Tools MSI安装程序中也没有开发人员提示:

enter image description here

2 个答案:

答案 0 :(得分:11)

开发人员提示bat文件似乎已在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的最终版本更好地修复和/或记录。

安装内部预览Windows 10 SDK与此无关;独立的Windows SDK不包含任何编译器,只包含头文件和链接库。

答案 1 :(得分:1)

安装Windows 10 SDKWDK(至少Build 16299)以获取ARM编译器桌面应用程序。

enter image description here

打开Project配置并创建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>
32位ARM的

WindowsSDKDesktopARMSupport

保存更改,再次加载项目,现在编译工作正常:

enter image description here

15.9 Update for VS2017, adds official ARM64 support (only for UWP),这里打开ARM64 dev提示符的命令行是:

%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"" amd64_arm

32位臂命令行是:

%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"" x86_arm