2017-01-17 4 views
3

J'ai installé Visual Studio 2017 Build Tools. Après l'installation, il n'y a qu'une invite de commande du développeur x86 lors de la navigation Démarrer → Programmes → Visual Studio 2017 → Visual Studio Tools. Il n'y a aucune invite pour x64 et ARM. (Habituellement, il y a environ 6 invites de développeur à choisir).Où sont les invites de développeur x64 et ARM pour VS2017?

Où se trouvent les outils de construction pour x64 et ARM?


MISE A JOUR (JAN-18-2017)

Après avoir installé l'ensemble du SDK de Windows 10, Construire 15003 par @ instructions magicandre1981, je ne peux pas trouver le développeur Invites. Je ne peux pas les trouver dans le menu Démarrer; et tomber dans un shell Git Bash et les chercher retourne 0 résultats.

Dans les noms ci-dessous, vsdevcmd.bat est ce qui a été installé par le VC++ construire des outils pour 2017. vcbuildtools.bat est ce qui a été installé par le VC++ Construits Outils pour 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 

$ 

En désespoir de cause, je a copié l'invite de développeur de 2017 Build Tools (pour x86), et a ajouté le amd64_arm comme le font les outils de construction de 2015. Il en résulte un échec:

[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> 

Plus de désespoir ... J'ai commencé à tracer la msiexec installers using process monitor et examining MSI contents using 7-zip. Le mieux que je peux dire, il n'y a pas des invites de développement, même dans le Developer Tools installateur MSI:

enter image description here

+0

J'ai mis à jour ma réponse avec des étapes pour obtenir des applications de bureau compilées pour ARM/ARM64 avec VS2017 15.4 et Win10 16299 SDK – magicandre1981

Répondre

1

Installer le Windows 10 SDK et WDK (au moins construire 16299) pour obtenir le compilateur ARM pour les applications de bureau.

enter image description here

Ouvrez la configuration du projet et créer la configuration ARM (64):

enter image description here

Si vous essayez de le compiler vous obtiendriez une erreur qui ARM64 n'est pas pris en charge pour le bureau:

enter image description here

Pour résoudre ce problème, déchargez le pro Ject et l'ouvrir dans l'éditeur et ajoutez la ligne <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support> à la mise au point et libérer l'entrée pour 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> 

et WindowsSDKDesktopARMSupport pour 32Bit ARM.

Enregistrer les modifications, charger à nouveau le projet et maintenant compilation fonctionne très bien:

enter image description here

+0

Merci @ magicandre1981. Je ne peux pas tester cela pendant quelques heures, mais je reviendrai. Il y a deux autres questions que vous pouvez poser en fonction des applications *** arm64: [Détecter ARM-64 en préprocesseur?] (Http://stackoverflow.com/q/37244202) et [ARM SHA extensions et "erreur C3861: vsha1h_u32: identifiant non trouvé"] (http://stackoverflow.com/q/41646026). Si vous ne répondez pas, alors je le ferai pour les futurs visiteurs. – jww

+0

Merci encore @ magicandre1981. Le téléchargement n'est pas disponible pour moi. Eh bien, c'était un bon essai ... – jww

+0

vous pouvez rejoindre le programme d'initiés sans problèmes. HEre est un lien DL pour les prochaines 24 heures: 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

Les fichiers de chauve-souris rapide développeur semblent avoir été restructuré un peu dans VS 2017. Au lieu d'avoir un ensemble fixe de prédéfini Les invites du développeur, vous pouvez le personnaliser encore plus maintenant.

Pour obtenir une invite de développeur pour, par ex. arm, ajoutez -arch=arm -host_arch=amd64 comme paramètres à VsDevCmd.bat (par exemple, dans le raccourci dans le menu Démarrer).

Pour la liste complète des options disponibles, consultez \Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\vsdevcmd\core\parse_cmd.bat ou composez le "\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\vsdevcmd" -help.

Je ne sais pas si cela est vraiment documenté nulle part, ou si elle sera fixée et/ou documenté mieux pour la version finale de VS 2017.

Installation du SDK aperçu d'initié de Windows 10 est sans rapport avec ce; le SDK Windows autonome n'inclut aucun compilateur, seulement des en-têtes et des bibliothèques de liens.

+1

Pour gagner du temps, les options '-arch' sont:' x86', 'amd64',' arm'. – Timmmm

+0

Sauf que le bras ne semble pas fonctionner: 'vsdevcmd -arch = arm' aboutit à' ERROR: l'architecture de l'hôte 'arm'.' est invalide même si vous avez installé le dernier SDK (15063) Windows 10 avec les outils ARM. – Akeo

+0

Avez-vous ajouté '-host_arch = amd64'? Sinon, il pourrait penser que vous voulez avoir la même architecture d'outils hôte que la cible. – mstorsjo