我安装了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 monitor和examining MSI contents using 7-zip。我能说的最好,即使在Developer Tools MSI安装程序中也没有开发人员提示:
答案 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 SDK和WDK(至少Build 16299)以获取ARM编译器桌面应用程序。
打开Project配置并创建ARM(64)配置:
如果您尝试编译它,您将收到一个错误,即桌面不支持ARM64:
要解决此问题,请卸载项目并在编辑器中将其打开,并将行<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
。
保存更改,再次加载项目,现在编译工作正常:
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