web-dev-qa-db-fra.com

Puis-je télécharger le compilateur de ligne de commande Visual C++ sans Visual Studio?

Selon le titre. Je ne souhaite pas télécharger l'intégralité du programme d'installation Visual C++, uniquement "cl.exe" et les autres programmes nécessaires à la compilation et à la liaison de programmes C++ sous Windows.

55
magnus

En 2014, vous ne pouviez pas télécharger le compilateur Visual C++ seul à partir de Microsoft.

C'était ce que tu pouvais. Auparavant, vous pouviez l'obtenir dans le Kit de développement Platform SDK. Ensuite, vous ne pourrez l'obtenir qu'en installant Visual Studio.

Heureusement, à cette époque, le compilateur fourni avec Visual Studio Express for Desktop (la version gratuite de Visual Studio à l'époque) était et est identique à celui que vous obtenez avec les éditions Professional ou Universal.

En novembre 2015, Microsoft a de nouveau commencé à fournir les outils de compilation dans un package autonome appelé Visual C++ Build Tools.

Microsoft écrit:

Le programme d'installation de C++ Build Tools ne s'exécutera pas sur une machine sur laquelle Visual Studio 2015 est déjà installé. L'inverse (c'est-à-dire la mise à niveau vers Visual Studio) est pris en charge.

La situation à long terme est, comme toujours, pas claire. Et, disclaimer: je n'ai pas utilisé les outils de construction moi-même - je devrais d'abord désinstaller Visual Studio.

16

Comme dit, il n'y a aucun moyen de faire ça. Vous devez télécharger l’ensemble complet de 4 à 6 Go +. Le déploiement de MS est un botch.

Cependant, il n’est pas nécessaire de réellement installer tout. Si vous avez besoin d'une installation manuelle, vous pouvez extraire des composants individuels de l'ensemble et les placer tous dans une arborescence de répertoires plus organisée.

Par exemple, j'ai constaté que l'ensemble suivant était le strict minimum nécessaire pour utiliser les compilateurs MSVC2013 actuels dans un environnement x86:

  • vc_compilerCore86.msi: chaîne d'outils MSVC;
  • vc_compilerCore86res.msi: ressources MUI de la chaîne d'outils MSVC;
  • vc_librarycore86.msi: bibliothèque MSVC
  • vc_LibraryDesktopX86.msi: plus de choses sur la bibliothèque MSVC;
  • Windows Software Development Kit for Windows Store Apps-x86_en-us.msi: fichiers SDK Windows et outils connexes (rc.exe, mt.exe, etc.);
  • Windows Software Development Kit-x86_en-us.msi: Plus de fichiers du SDK Windows (en particulier, WinSock2.h, WS2_32.lib, peut-être d'autres).

N'oubliez pas que vous pouvez extraire le contenu d'un fichier MSI en exécutant msiexec /a <msifile> TARGETDIR="<path>" (notez un paramètre /quiet si vous effectuez un traitement par lots). Bien sûr, vous pouvez également en mettre plus dans votre paquet en examinant les fichiers MSI à l'intérieur du paquet. En particulier, il manque les derniers outils MSBuild dans l'ensemble ci-dessus, car je ne m'en soucie pas. Les affaires sont souvent dispersées entre plusieurs MSI sans aucun savoir, alors bonne chance.

J'ai un fichier 7z de 50 Mo (!!!) contenant cet ensemble pour un déploiement local, bien que je ne puisse pas le partager publiquement en raison des restrictions de licence de Microsoft.


METTRE À JOUR:

Voici la liste des fichiers MSI pour les outils, les en-têtes et les bibliothèques MSVC2015:

packages\VisualC_D14\VC_Tools.Core\VC_Tools.Core.msi
packages\VisualC_D14\VC_Tools.Core.Res\VC_Tools.Core.Res.msi
packages\VisualC_D14\VC_Tools.X86.Base\VC_Tools.X86.Base.msi
packages\VisualC_D14\VC_Tools.X86.Base.Res\VC_Tools.X86.Base.Res.msi
packages\VisualC_D14\VC_Tools.X86.Nat\VC_Tools.X86.Nat.msi
packages\VisualC_D14\VC_Tools.X86.Nat.Res\VC_Tools.X86.Nat.Res.msi
packages\VisualC_D14\VC_Tools.X86.X64\VC_Tools.X86.X64.msi
packages\VisualC_D14\VC_Tools.X86.X64.Res\VC_Tools.X86.X64.Res.msi
packages\VisualC_D14\VC_PremTools.X86.Base\VC_PremTools.X86.Base.msi
packages\VisualC_D14\VC_PremTools.X86.Base.Res\VC_PremTools.X86.Base.Res.msi
packages\VisualC_D14\VC_PremTools.X86.Nat\VC_PremTools.X86.Nat.msi
packages\VisualC_D14\VC_PremTools.X86.Nat.Res\VC_PremTools.X86.Nat.Res.msi
packages\VisualC_D14\VC_PremTools.X86.X64\VC_PremTools.X86.X64.msi
packages\VisualC_D14\VC_PremTools.X86.X64.Res\VC_PremTools.X86.X64.Res.msi
packages\VisualC_D14\VC_CRT.Headers\VC_CRT.Headers.msi
packages\VisualC_D14\VC_CRT.X86.Desktop\VC_CRT.X86.Desktop.msi
packages\VisualC_D14\VC_CRT.X86.Store\VC_CRT.X86.Store.msi
packages\VisualC_D14\VC_CRT.X64.Desktop\VC_CRT.X64.Desktop.msi
packages\VisualC_D14\VC_CRT.X64.Store\VC_CRT.X64.Store.msi
packages\VisualC_D14\VC_CRT.Redist.Res\VC_CRT.Redist.Res.msi
packages\VisualC_D14\VC_CRT.Redist.X86\VC_CRT.Redist.X86.msi
packages\VisualC_D14\VC_CRT.Redist.X64\VC_CRT.Redist.X64.msi
packages\VisualC_D14\VC_ATL.Headers\VC_ATL.Headers.msi
packages\VisualC_D14\VC_ATL.X86\VC_ATL.X86.msi
packages\VisualC_D14\VC_ATL.X64\VC_ATL.X64.msi
packages\VisualC_D14\VC_MFC.Headers\VC_MFC.Headers.msi
packages\VisualC_D14\VC_MFC.X86\VC_MFC.X86.msi
packages\VisualC_D14\VC_MFC.X64\VC_MFC.X64.msi
packages\VisualC_D14\VC_PGO.Headers\VC_PGO.Headers.msi
packages\VisualC_D14\VC_PGO.X86\VC_PGO.X86.msi
packages\VisualC_D14\VC_PGO.X64\VC_PGO.X64.msi
packages\Win10_UniversalCRTSDK\Universal CRT Headers Libraries and Sources-x86_en-us.msi

Et voici la liste des fichiers MSI pour les outils, les en-têtes et les bibliothèques WinSDK10 (téléchargés séparément):

Installers\Windows SDK Desktop Headers Libs Metadata-x86_en-us.msi
Installers\Windows SDK Desktop Tools-x86_en-us.msi
Installers\Windows SDK for Windows Store Apps Headers Libs-x86_en-us.msi
Installers\Windows SDK for Windows Store Apps Tools-x86_en-us.msi

Tout cela inclut des éléments pour x86 et x64 (je n'ai pas pris en compte ARM ni IA64). Les deux paquets compressés avec LZMA donneront un fichier de 185 Mo.

15
alecov

Mise à jour: les outils de génération Visual C++ 2015 sont situés ici: http://landinghub.visualstudio.com/visual-cpp-build-tools

Les outils de compilation Visual C++ 2017 font désormais partie du programme d'installation standard de VS 2017. Il suffit de sélectionner les charges de travail dont vous avez besoin. L'information est sur la même page.

Ce lien est préféré aux liens de blog ci-dessous car il s’agit de la page de destination officielle et sera tenu à jour. 

Je suis dans l'équipe C++. Si vous avez des questions sur l'utilisation de VC++ Build Tools ou sur MSVC en général, n'hésitez pas à m'envoyer un e-mail. Mon email est mon nom d'utilisateur StackOverflow @ Microsoft.com.

6
apardoe

Une fois, j'ai essayé de faire la même chose que toi. Mais MS ne fournit pas de compilateur isolé. Donc, si vous avez besoin du compilateur MS C++, vous devez installer le VS. Mais si vous aimez l'aventure. il existe un moyen délicat de le faire. Essayez-le ici . Chrees!

3
Nayana Adassuriya

J'ai fini par utiliser Chocolatey , qui contient un package pour Visual C++ Build Tools .

Cette commande:

choco install visualcpp-build-tools 

installera la dernière version 2017, mais vous pouvez sélectionner l’une des versions antérieures, notamment la version 2015.

Après l'installation, le dossier Visual Studio 2017 est ajouté au menu Programmes. Il inclut des raccourcis vers diverses invites de commande de développeur avec cl.exe et d'autres outils dans le chemin.

1
GreenhouseVeg

Vous pouvez utiliser le compilateur MSVC sans Visual Studio et la dernière version est disponible ici:

http://www.Microsoft.com/en-us/download/details.aspx?id=41151

Voici également un site Web qui détaille les options de ligne de commande pour le compilateur:

http://msdn.Microsoft.com/en-us/library/9s7c9wdw.aspx

0
jaho