Verwenden des Microsoft C++-Toolsets in der Befehlszeile
Sie können mithilfe von Tools, die in Visual Studio enthalten sind, C- und C++-Anwendungen auf der Befehlszeile erstellen. Das Microsoft-C++-Compilertoolset (MSVC) kann auch als eigenständiges Paket heruntergeladen werden. Sie müssen die Visual Studio IDE nicht installieren, wenn Sie nicht vorhaben, diese zu verwenden.
Hinweis
In diesem Artikel wird beschrieben, wie Sie eine Umgebung einrichten, in der Sie die einzelnen Compiler, Linker, Bibliotheksprogramme und andere grundlegende Tools verwenden. Das systemeigene Projektbuildsystem in Visual Studio, das auf MSBuild basiert, verwendet nicht die Umgebung, wie in diesem Artikel beschrieben. Weitere Informationen zum Verwenden von MSBuild an der Befehlszeile finden Sie unter C++: MSBuild in der Befehlszeile.
Herunterladen und Installieren der Tools
Wenn Sie Visual Studio und einen C++-Workload installiert haben, verfügen Sie über alle Befehlszeilentools. Informationen zum Installieren von C++ und Visual Studio finden Sie unter Installieren der C++-Unterstützung in Visual Studio. Wenn Sie nur die Befehlszeilentools wünschen, laden Sie die Visual Studio Build Tools herunter. Wenn Sie die heruntergeladene ausführbare Datei ausführen, wird der Visual Studio-Installer aktualisiert und ausgeführt. Um nur die Tools zu installieren, die Sie für die C++-Entwicklung benötigen, wählen Sie die Workload Desktopentwicklung mit C++ aus. Sie können optionale Bibliotheken und Toolsets auswählen, die unter Installationsdetails enthalten sein sollen. Wenn Sie Code mithilfe der Toolsets von Visual Studio 2015, 2017 oder 2019 erstellen möchten, wählen Sie die optionalen MSVC v140-, v141- oder v142-Buildtools aus. Wenn Sie die gewünschten Einstellungen vorgenommen haben, wählen Sie Installieren aus.
Wenn Sie Visual Studio und einen C++-Workload installiert haben, verfügen Sie über alle Befehlszeilentools. Informationen zum Installieren von C++ und Visual Studio finden Sie unter Installieren der C++-Unterstützung in Visual Studio. Wenn Sie nur die Befehlszeilentools wünschen, laden Sie die Visual Studio Build Tools 2017 herunter. Wenn Sie die heruntergeladene ausführbare Datei ausführen, wird der Visual Studio-Installer aktualisiert und ausgeführt. Um nur die Tools zu installieren, die Sie für die C++-Entwicklung benötigen, wählen Sie die Workload Visual C++ Build Tools aus. Sie können optionale Bibliotheken und Toolsets auswählen, die unter Installationsdetails enthalten sein sollen. Wählen Sie zum Erstellen von Code mithilfe des Visual Studio 2015-Toolsets die optionalen Buildtools von MSVC v140 aus. Wenn Sie die gewünschten Einstellungen vorgenommen haben, wählen Sie Installieren aus.
Verwenden der Befehlszeilentools
Wenn Sie eine der C++-Workloads im Visual Studio-Installer auswählen, installiert sie das Visual Studio-Plattformtoolset. Ein Plattformtoolset enthält alle C- und C++-Tools für eine bestimmte Visual Studio-Version. Zu den Tools gehören die C/C++-Compiler, Linker, Assembler und andere Buildtools sowie übereinstimmende Bibliotheken und Headerdateien. Sie können all diese Tools über die Befehlszeile verwenden. Sie werden auch intern von der Visual Studio-IDE verwendet. Es gibt separate Compiler und Tools für das Hosten auf x86- und x64-Architekturen, um Code für x86-, x64-, ARM- und ARM64-Zielumgebungen zu erstellen. Jeder Satz Tools für eine bestimmte Host- und Zielbuildarchitektur ist in einem eigenen Verzeichnis gespeichert.
Um ordnungsgemäß zu funktionieren, müssen für die Tools verschiedene spezifische Umgebungsvariablen festgelegt werden. Diese Variablen werden verwendet, um die Tools zum Pfad hinzuzufügen und die Speicherorte von einschließenden Dateien, Bibliotheksdateien und SDKs festzulegen. Um das Festlegen dieser Umgebungsvariablen zu vereinfachen, erstellt der Installer während der Installation angepasste Befehlsdateien oder Batchdateien. Sie können eine dieser Befehlsdateien ausführen, um eine bestimmte Host- und Zielbuildarchitektur, eine Windows SDK-Version oder ein Plattformtoolset festzulegen. Aus praktischer Gründen erstellt das Installationsprogramm auch Verknüpfungen im Startmenü. Die Tastenkombinationen öffnen Eingabeaufforderungsfenster für Entwickler, indem Sie diese Befehlsdateien für bestimmte Kombinationen von Host und Ziel verwenden. Diese Verknüpfungen stellen sicher, dass alle erforderlichen Umgebungsvariablen festgelegt und einsatzbereit sind.
Die erforderlichen Umgebungsvariablen sind für Ihre Installation und für die von Ihnen gewählte Buildarchitektur spezifisch. Sie können sich bei Updates oder Upgrades des Produkts ändern. Diese Variabilität ist ein Grund, warum Wir empfehlen, eine installierte Eingabeaufforderungsverknüpfung oder Befehlsdatei zu verwenden, anstatt die Umgebungsvariablen selbst festzulegen.
Welche Toolsets, Befehlsdateien und Verknüpfungen installiert werden, hängt vom Prozessor Ihres Computers und den während der Installation aktivierten Optionen ab. Die in x86-Systemen gehosteten Tools und Cross Tools, die x86-und x64-Code erstellen, sind immer installiert. Wenn Sie über ein Windows-System mit 64 Bit verfügen, werden die im x64-System gehosteten Tools und Cross Tools, die x86-und x64-Code erstellen, ebenfalls installiert. Wenn Sie die optionalen C++-Tools für Universelle Windows-Plattform auswählen, werden die x86-und x64-Tools, die ARM- und ARM64-Code erstellen, ebenfalls installiert. Andere Workloads können diese und andere Tools installieren.
Pfad- und Umgebungsvariablen für Befehlszeilenbuilds
Die MSVC-Befehlszeilentools verwenden die Umgebungsvariablen PATH
, TMP
, INCLUDE
, LIB
und LIBPATH
sowie andere für Ihre installierten Tools, Plattformen und SDKs spezifische Umgebungsvariablen. Selbst bei einer einfachen Visual Studio-Installation werden möglicherweise 20 oder mehr Umgebungsvariablen festgelegt. Aus diesem Grund wird dringend empfohlen, eine Entwickler-Eingabeaufforderungsverknüpfung oder eine der angepassten Befehlsdateien zu verwenden. Es wird nicht empfohlen, diese Variablen in der Windows-Umgebung selbst festzulegen.
Sie können den SET
-Befehl verwenden, um anzuzeigen, welche Umgebungsvariablen von einer Verknüpfung der Developer-Eingabeaufforderung festgelegt werden. Öffnen Sie ein einfaches Eingabeaufforderungsfenster, und erfassen Sie die Ausgabe des SET
-Befehls für eine Baseline. Öffnen Sie ein Developer-Eingabeaufforderungsfenster, und erfassen Sie für den Vergleich die Ausgabe des SET
-Befehls. Verwenden Sie ein Diff-Tool, z. B. das in Visual Studio integrierte Tool, um die umgebungsvariablen hervorzuheben, die von der Entwickler-Eingabeaufforderung festgelegt wurden. Weitere Informationen zu den Compiler- und Linkerumgebungsvariablen finden Sie unter CL-Umgebungsvariablen.
Tastenkombinationen für Entwickler-Eingabeaufforderungen
Die Eingabeaufforderungsverknüpfungen werden in einem versionsspezifischen Visual Studio-Ordner im Windows-Startmenü gespeichert. Das Folgende ist eine Liste der grundlegenden Eingabeaufforderungsverknüpfungen und der von ihnen unterstützten Buildarchitekturen:
- Developer-Eingabeaufforderung: Legt die Umgebung für die Verwendung von x86-nativen 32-Bit-Tools zum Erstellen von x86-nativem 32-Bit-Code fest.
- x86 Native Tools-Eingabeaufforderung: Legt die Umgebung für die Verwendung von x86-nativen 32-Bit-Tools zum Erstellen von x86-nativem 32-Bit-Code fest.
- x64 Native Tools-Eingabeaufforderung: Legt die Umgebung für die Verwendung von x64-nativen 64-Bit-Tools zum Erstellen von x64-nativem 64-Bit-Code fest.
- x86_x64 Cross Tools-Eingabeaufforderung: Legt die Umgebung für die Verwendung von x86-nativen 32-Bit-Tools zum Erstellen von x64-nativem 64-Bit-Code fest.
- x64_x86 Cross Tools-Eingabeaufforderung: Legt die Umgebung für die Verwendung von x64-nativen 64-Bit-Tools zum Erstellen von x86-nativem 32-Bit-Code fest.
Die Namen des Startmenü-Ordners und der Verknüpfungen hängen von der installierten Visual Studio-Version ab. Wenn Sie einen festlegen, hängt dieser auch vom Spitznamen der Installation ab. Angenommen, Sie haben Visual Studio 2022 installiert, und Sie haben ihm einen Spitznamen " Neueste" gegeben. Die Eingabeaufforderungsverknüpfung für Entwickler heißt "Entwickler-Eingabeaufforderung für VS 2022 (Neuestes)" in einem Ordner mit dem Namen Visual Studio 2022.
Die Namen des Startmenü-Ordners und der Verknüpfungen hängen von der installierten Visual Studio-Version ab. Wenn Sie einen festlegen, hängt dieser auch vom Spitznamen der Installation ab. Angenommen, Sie haben Visual Studio 2017 installiert und der Installation den Spitznamen Aktuell gegeben. Die Verknüpfung der Developer-Eingabeaufforderung heißt Developer-Eingabeaufforderung für VS 2017 (Aktuell), in einem Ordner mit dem Namen Visual Studio 2017.
Die Namen des Startmenü-Ordners und der Verknüpfungen hängen von der installierten Visual Studio-Version ab. Angenommen, Sie haben Visual Studio 2015 installiert. Die Verknüpfung der Developer-Eingabeaufforderung heißt Developer-Eingabeaufforderung für VS 2015.
Hinweis
Für mehrere Befehlszeilentools oder Tooloptionen sind möglicherweise Administratorberechtigungen erforderlich. Wenn bei der Verwendung dieser Tools solche Berechtigungsprobleme auftreten, empfiehlt es sich, das Developer-Eingabeaufforderungsfenster unter Verwendung der Option Als Administrator ausführen zu öffnen. Klicken Sie mit der rechten Maustaste, um das Kontextmenü für das Eingabeaufforderungsfenster zu öffnen, und klicken Sie dann auf Mehr und Als Administrator ausführen.
So öffnen Sie ein Eingabeaufforderungsfenster für Entwickler
Öffnen Sie auf dem Desktop das Windows-Startmenü. Wählen Sie in Windows 11 die Schaltfläche "Alle Apps " aus, um die Liste der installierten Apps zu öffnen. In Windows 10 ist die Liste links geöffnet. Scrollen Sie in der Liste nach unten, um den Ordner (nicht die App) für Ihre Version von Visual Studio zu suchen und zu öffnen, z. B. Visual Studio 2022.
Wählen Sie im Ordner die Developer-Eingabeaufforderung für Ihre Version von Visual Studio aus. Diese Verknüpfung startet ein Developer-Eingabeaufforderungsfenster, das die Standardbuildarchitektur mit x86-nativen 32-Bit-Tools zum Erstellen von x86-nativem 32-Bit-Code verwendet. Falls Sie eine andere als die Standardbuildarchitektur vorziehen, wählen Sie eine der Eingabeaufforderungen mit nativen oder kreuzkompatiblen Tools aus, um die Host- und die Zielarchitektur anzugeben.
Sogar noch schneller lässt sich eine Developer-Eingabeaufforderung öffnen, wenn Sie Developer-Eingabeaufforderung in das Suchfeld auf dem Desktop eingeben. Wählen Sie dann das gewünschte Ergebnis aus.
Hinweis
Standardmäßig ist das aktuelle Arbeitsverzeichnis in einer Entwickler-Eingabeaufforderung das Stammverzeichnis Ihrer Visual Studio-Installation im Verzeichnis "Programme". Dies ist kein geeigneter Speicherort für Ihren Code und Ihre Projekte. Ändern Sie das aktuelle Arbeitsverzeichnis an einen anderen Speicherort, bevor Sie ein Projekt erstellen. Die IDE erstellt Projekte in Ihrem Benutzerverzeichnis, in der Regel in %USERPROFILE%\source\repos.
Speicherorte für Entwicklerbefehlsdateien
Wenn Sie es vorziehen, die Buildumgebung in einem vorhandenen Eingabeaufforderungsfenster festzulegen, können Sie eine der vom Installer erstellten Befehlsdateien verwenden. Es wird empfohlen, dass Sie die Umgebung in einem neuen Eingabeaufforderungsfenster festlegen. Wir raten davon ab, später im gleichen Befehlsfenster die Umgebung zu wechseln.
Der Speicherort der Befehlsdatei hängt von der installierten Version von Visual Studio und Ihren bei der Installation gewählten Optionen ab. Für Visual Studio 2019 befindet sich der typische Installationsspeicherort in einem 64-Bit-System.\Program Files\Microsoft Visual Studio\2022\<edition>
Dies <edition>
kann Community, Professional, Enterprise, BuildTools oder ein anderer Spitzname sein, den Sie angegeben haben.
Der Speicherort der Befehlsdatei hängt von der installierten Version von Visual Studio und Ihren bei der Installation gewählten Optionen ab. Für Visual Studio 2019 befindet sich der typische Installationsspeicherort in einem 64-Bit-System.\Program Files (x86)\Microsoft Visual Studio\2019\<edition>
Dies <edition>
kann Community, Professional, Enterprise, BuildTools oder ein anderer Spitzname sein, den Sie angegeben haben.
Der Speicherort der Befehlsdatei hängt von der installierten Version von Visual Studio und Ihren bei der Installation gewählten Optionen ab. Für Visual Studio 2017 befindet sich der typische Installationsspeicherort in einem 64-Bit-System.\Program Files (x86)\Microsoft Visual Studio\2017\<edition>
Dies <edition>
kann Community, Professional, Enterprise, BuildTools oder ein anderer Spitzname sein, den Sie angegeben haben.
Der Speicherort der Befehlsdatei hängt von der Visual Studio-Version und dem Installationsverzeichnis ab. Für Visual Studio 2015 befindet sich der typische Installationsspeicherort in einem 64-Bit-System.\Program Files (x86)\Microsoft Visual Studio 14.0
Die primäre Eingabeaufforderungs-Eingabeaufforderungsdatei VsDevCmd.bat
des Entwicklers befindet sich im Common7\Tools
Unterverzeichnis. Wenn keine Parameter angegeben werden, wird die Umgebung so festgelegt, dass die x86 Native Tools-Eingabeaufforderung zum Erstellen von 32-Bit-x86-Code verwendet wird.
Zum Einrichten spezifischer Buildarchitekturen gibt es weitere Befehlsdateien. Welche Befehlsdateien verfügbar sind, hängt von den Visual Studio-Workloads und den von Ihnen installierten Optionen ab. In Visual Studio 2017 und Visual Studio 2019 finden Sie sie im Unterverzeichnis VC\Hilfs\Build.
Zum Einrichten spezifischer Buildarchitekturen gibt es weitere Befehlsdateien. Welche Befehlsdateien verfügbar sind, hängt von den Visual Studio-Workloads und den von Ihnen installierten Optionen ab. In Visual Studio 2015 befinden sie sich in den Unterverzeichnissen VC, VC\bin oder VC\bin\architecture , wobei architektur eine der systemeigenen oder compilerübergreifenden Optionen ist.
Diese Befehlsdateien legen Standardparameter fest und rufen VsDevCmd.bat
auf, um die angegebene Buildarchitekturumgebung einzurichten. Eine typische Installation kann etwa diese Befehlsdateien enthalten:
Befehlsdatei | Host- und Zielarchitekturen |
---|---|
vcvars32.bat |
Die x86-nativen 32-Bit-Tools werden zum Erstellen von 32-Bit-x86-Code verwendet. |
vcvars64.bat |
Die x64-nativen 64-Bit-Tools werden zum Erstellen von 64-Bit-x64-Code verwendet. |
vcvarsx86_amd64.bat |
Die x86-nativen 32-Bit kreuzkompatiblen Tools werden zum Erstellen von 64-Bit-x64-Code verwendet. |
vcvarsamd64_x86.bat |
Die x64-nativen 64-Bit kreuzkompatiblen Tools werden zum Erstellen von 32-Bit-x86-Code verwendet. |
vcvarsx86_arm.bat |
Die x86-nativen 32-Bit kreuzkompatiblen Tools werden zum Erstellen ARM-Code verwendet. |
vcvarsamd64_arm.bat |
Die x64-nativen 64-Bit kreuzkompatiblen Tools werden zum Erstellen ARM-Code verwendet. |
vcvarsx86_arm64.bat |
Die x86-nativen 32-Bit kreuzkompatiblen Tools werden zum Erstellen von ARM64-Code verwendet. |
vcvarsamd64_arm64.bat |
Die x64-nativen 64-Bit kreuzkompatiblen Tools werden zum Erstellen von ARM64-Code verwendet. |
vcvarsall.bat |
Verwenden Sie Parameter zum Angeben der Host- und Zielarchitekturen, Windows SDK und Plattformoptionen. Um eine Liste der unterstützten Optionen anzuzeigen, rufen Sie diesen Befehl mit dem Parameter /help auf. |
Achtung
Die vcvarsall.bat
-Datei und andere Visual Studio-Befehlsdateien können sich von Computer zu Computer unterscheiden. Ersetzen Sie eine fehlende oder beschädigte vcvarsall.bat
-Datei nicht durch eine Datei von einem anderen Computer. Führen Sie den Visual Studio-Installer erneut aus, um die fehlende Datei zu ersetzen.
Die vcvarsall.bat
-Datei ist auch von Version zu Version unterschiedlich. Falls die aktuelle Version von Visual Studio auf einem Computer installiert ist, der außerdem über eine frühere Version von Visual Studio verfügt, sollten Sie nicht vcvarsall.bat
oder eine andere Visual Studio-Befehlsdatei aus einer anderen Version im selben Eingabeaufforderungsfenster ausführen.
Verwenden der Entwicklertools in einem vorhandenen Befehlsfenster
Die einfachste Möglichkeit, eine bestimmte Buildarchitektur in einem vorhandenen Befehlsfenster anzugeben, ist die Verwendung der vcvarsall.bat
-Datei. Legen Sie mit vcvarsall.bat
die Umgebungsvariablen fest, um die Befehlszeile für die native 32-Bit- oder 64-Bit-Kompilierung zu konfigurieren. Mit Argumenten können Sie die Kreuzkompilierung für x86-, x64-, ARM- oder ARM64-Prozessoren angeben. Als Ziel können Sie Microsoft Store, Universelle Windows-Plattform oder Windows Desktop-Plattformen angeben. Sie können sogar festlegen, welche Windows SDK verwendet werden sollen, und die Toolsetversion der Plattform auswählen.
Wenn keine Argumente angegeben werden, werden die Umgebungsvariablen mit vcvarsall.bat
so konfiguriert, dass der aktuelle native x86-Compiler für 32-Bit-Windows Desktop-Ziele verwendet wird. Sie können Argumente hinzufügen, um die Umgebung so zu konfigurieren, dass Sie eines der nativen oder kreuzkompatiblen Compilertools verwendet. Wenn Sie eine Konfiguration angeben, die auf Ihrem Computer nicht installiert oder verfügbar ist, zeigt vcvarsall.bat
eine Fehlermeldung an.
Syntax von vcvarsall
vcvarsall.bat
[architecture
] [platform_type
] [winsdk_version
] [-vcvars_ver=
vcversion
] [spectre_mode
]
architecture
Dieses optionale Argument gibt die zu verwendende Host- und Zielarchitektur an. Wenn architecture nicht angegeben wird, wird die Standardbuildumgebung verwendet. Diese Argumente werden unterstützt:
architecture |
Compiler | Hostcomputerarchitektur | Buildausgabearchitektur (Zielarchitektur) |
---|---|---|---|
x86 |
x86-32-Bit systemeigen | x86, x64 | x86 |
x86_amd64 oder x86_x64 |
x64 kreuzkompatibel auf x86 | x86, x64 | x64 |
x86_arm |
ARM auf x86-Cross | x86, x64 | ARM |
x86_arm64 |
ARM64 kreuzkompatibel auf x86 | x86, x64 | ARM64 |
amd64 oder x64 |
x64 64-Bit nativ | x64 | x64 |
amd64_x86 oder x64_x86 |
x86 kreuzkompatibel auf x64 | x64 | x86 |
amd64_arm oder x64_arm |
ARM kreuzkompatibel auf x64 | x64 | ARM |
amd64_arm64 oder x64_arm64 |
ARM64 kreuzkompatibel auf x64 | x64 | ARM64 |
platform_type
Dieses optionale Argument ermöglicht die Angabe von store
oder uwp
als Plattformtyp. Standardmäßig ist die Umgebung auf das Erstellen von Desktop- oder Konsolen-Apps festgelegt.
winsdk_version
Gibt optional die Version des zu verwendenden Windows SDK an. Standardmäßig wird das neueste installierte Windows SDK verwendet. Um die Windows SDK-Version anzugeben, können Sie eine vollständige Windows SDK-Nummer wie 10.0.10240.0
verwenden oder 8.1
angeben, wenn Sie das Windows 8.1 SDK verwenden möchten.
vcversion
Gibt optional das zu verwendende Visual Studio-Compilertoolset an. Standardmäßig ist die Umgebung auf die Verwendung des aktuellen Visual Studio-Compilertoolsets festgelegt.
Verwenden Sie -vcvars_ver=14.2x.yyyyy, um eine bestimmte Version des Compilertoolsets von Visual Studio 2019 anzugeben.
Verwenden Sie -vcvars_ver=14.29, um die neueste Version des Compilertoolsets von Visual Studio 2019 anzugeben.
Verwenden Sie -vcvars_ver=14.16, um die neueste Version des Compilertoolsets von Visual Studio 2017 anzugeben.
Verwenden Sie -vcvars_ver=14.1x.yyyyy, um eine bestimmte Version des Compilertoolsets von Visual Studio 2017 anzugeben.
Verwenden Sie -vcvars_ver=14.0, um das Compilertoolset von Visual Studio 2015 anzugeben.
spectre_mode
Lassen Sie diesen Parameter aus, um Bibliotheken ohne Spectre-Ausgleich zu verwenden. Verwenden Sie den Wert spectre
, um Bibliotheken mit Spectre-Ausgleich zu verwenden.
Einrichten der Buildumgebung in einem vorhandenen Eingabeaufforderungsfenster
Verwenden Sie an der Eingabeaufforderung den CD-Befehl, um in das Visual Studio-Installationsverzeichnis zu wechseln. Verwenden Sie dann erneut CD, um in das Unterverzeichnis zu wechseln, das die konfigurationsspezifischen Befehlsdateien enthält. Verwenden Sie für Visual Studio 2019 und Visual Studio 2017 das Unterverzeichnis VC\Hilfs\Build . Verwenden Sie für Visual Studio 2015 das Unterverzeichnis VC.
Geben Sie den Befehl für Ihre bevorzugte Entwicklerumgebung ein. Um beispielsweise ARM-Code für UWP auf einer 64-Bit-Plattform mithilfe des aktuellen Windows SDK und Visual Studio 2019-Compilertoolsets zu erstellen, verwenden Sie diese Befehlszeile:
vcvarsall.bat amd64_arm uwp
Erstellen einer eigenen Eingabeaufforderungsverknüpfung
Öffnen Sie das Dialogfeld „Eigenschaften“ für eine Verknüpfung zur Developer-Eingabeaufforderung, um das verwendete Befehlsziel anzuzeigen. Beispielsweise ist das Ziel für die Verknüpfung x64 Native Tools-Eingabeaufforderung für VS 2019 ähnlich wie dies hier:
%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
Öffnen Sie das Dialogfeld „Eigenschaften“ für eine Verknüpfung zur Developer-Eingabeaufforderung, um das verwendete Befehlsziel anzuzeigen. Beispielsweise ist das Ziel für die Verknüpfung x64 Native Tools-Eingabeaufforderung für VS 2017 ähnlich wie dies hier:
%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
Öffnen Sie das Dialogfeld „Eigenschaften“ für eine Verknüpfung zur Developer-Eingabeaufforderung, um das verwendete Befehlsziel anzuzeigen. Beispielsweise ist das Ziel für die Verknüpfung VS2015 x64 Native Tools-Eingabeaufforderung ähnlich wie dies hier:
%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
Die architekturspezifischen Batchdateien legen den Parameter architecture
fest und rufen vcvarsall.bat
auf. Sie können an diese Batchdateien die gleichen Optionen übergeben, die Sie an vcvarsall.bat
übergeben würden, oder vcvarsall.bat
einfach direkt aufrufen. Um Parameter für Ihre eigene Befehlsverknüpfung anzugeben, fügen Sie sie am Ende des Befehls in doppelten Anführungszeichen hinzu. Hier sehen Sie beispielsweise eine Verknüpfung zum Erstellen von ARM-Code für die UWP auf einer 64-Bit-Plattform mit dem neuesten Windows SDK. Wenn Sie ein früheres Compilertoolset verwenden möchten, geben Sie die Versionsnummer an. Verwenden Sie in Ihrer Verknüpfung etwas in der Art dieses Befehlsziels:
%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64_arm uwp -vcvars_ver=14.29
%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64_arm uwp -vcvars_ver=14.19
%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64 -vcvars_ver=14.0
Passen Sie den Pfad an, damit er Ihr Visual Studio-Installationsverzeichnis angibt. Die vcvarsall.bat-Datei enthält zusätzliche Informationen über bestimmte Versionsnummern.
Befehlszeilentools
Zum Erstellen eines C-/C++-Projekts über eine Eingabeaufforderung bietet Visual Studio die folgenden Befehlszeilentools:
CL
Verwenden Sie den Compiler (cl.exe), um Quellcodedateien in Apps, Bibliotheken und DLLs zu kompilieren und zu verknüpfen.
Link
Verwenden Sie den Linker (link.exe), um kompilierte Objektdateien in Apps und DLLs zu verknüpfen.
Wenn Sie Builds über die Befehlszeile ausführen, ist der F1-Befehl für Soforthilfe nicht verfügbar. Stattdessen können Sie eine Suchmaschine verwenden, um Informationen zu Warnungen, Fehlern und Meldungen abzurufen. Sie können auch die Offlinehilfedateien herunterladen und verwenden. Wenn Sie die Suche in Microsoft Learn verwenden möchten, geben Sie Ihre Abfrage in das Suchfeld oben in einem beliebigen Artikel ein.
Befehlszeilentools für die Projektverwaltung
Die Visual Studio-IDE verwendet standardmäßig native, auf MSBuild basierende Buildsysteme für Projekte. Sie können MSBuild direkt aufrufen, um Projekte ohne Verwendung der IDE zu erstellen. Sie können auch den Befehl devenv
verwenden, um Visual Studio zum Erstellen von Projekten und Lösungen zu verwenden. Visual Studio unterstützt auch Buildsysteme, die auf CMake oder NMake basieren.
MSBuild
Verwenden Sie MSBuild (msbuild.exe) und eine Projektdatei (.vcxproj), um einen Build zu konfigurieren und das Toolset zu verwenden, ohne die Visual Studio-IDE zu laden. Dies entspricht dem Ausführen des Befehls Build für Projekte oder Projektmappe erstellen in der Visual Studio-IDE. MSBuild hat gegenüber der IDE Vorteile, wenn Sie an der Befehlszeile erstellen. Sie müssen nicht die vollständige IDE auf allen Ihren Buildservern und Buildpipelines installieren. Sie vermeiden den zusätzlichen Mehraufwand der IDE. MSBuild wird in containerisierten Buildumgebungen ausgeführt und unterstützt eine binäre Protokollierung.
DEVENV
Verwenden Sie DEVENV (devenv.exe) in Kombination mit einem Befehlszeilenschalter wie /Build
oder /Clean
, um bestimmte Buildbefehle auszuführen, ohne die Visual Studio-IDE anzuzeigen.
CMake
CMake (cmake.exe) ist ein plattformübergreifendes Open-Source-Tool, das zum Definieren von Buildprozessen verwendet wird, die auf mehreren Plattformen ausgeführt werden. CMake kann native Buildtools für die unterstützten Plattformen wie MsBuild oder NMake konfigurieren und steuern. Weitere Informationen zu CMake finden Sie in der CMake-Dokumentation.
NMAKE
Verwenden Sie NMAKE (nmake.exe), um C++-Projekte traditionell mithilfe eines Makefile zu erstellen.
Hinweis
Ab Visual Studio 2019, Version 16.5 verwenden MSBuild und Devenv nicht mehr die Befehlszeilenumgebung, um das verwendete Toolset und die verwendeten Bibliotheken zu steuern.
In diesem Abschnitt
In diesen Artikeln erfahren Sie, wie Sie Apps über die Befehlszeile erstellen und wie Sie die Buildumgebung der Befehlszeile anpassen. Einige zeigen, wie man 64-Bit-Toolsets verwendet und x86-, x64-, ARM- und ARM64-Plattformen als Ziel einsetzt. Außerdem wird die Verwendung der Befehlszeilen-Buildtools MSBuild und NMAKE beschrieben.
Exemplarische Vorgehensweise: Kompilieren eines systemeigenen C++-Programms in der Befehlszeile
Gibt ein Beispiel, das zeigt, wie Sie ein C++-Programm über die Befehlszeile erstellen und kompilieren.
Exemplarische Vorgehensweise: Kompilieren eines C-Programms in der Befehlszeile
Beschreibt, wie Sie ein in der Programmiersprache C geschriebenes Programm kompilieren.
Exemplarische Vorgehensweise: Kompilieren eines C++/CLI-Programms in der Befehlszeile
Beschreibt, wie Sie ein C++-/CLI-Programm erstellen und kompilieren, das .NET Framework verwendet.
Exemplarische Vorgehensweise: Kompilieren eines C++/CX-Programms in der Befehlszeile
Beschreibt, wie Sie ein C++-/CX-Programm erstellen und kompilieren, das die Windows Runtime verwendet.
NMAKE-Referenz
Enthält Links zu Artikeln, in denen das Microsoft Program Maintenance Utility (NMAKE.EXE) beschrieben wird.
MSBuild on the Command Line – C++ (C++: MSBuild in der Befehlszeile)
Enthält Links zu Artikeln, in denen die Verwendung von msbuild.exe auf der Befehlszeile dargestellt wird.
Verwandte Abschnitte
/MD, /MT, /LD (Use run-time library) (/MD, /MT, /LD (Runtimebibliothek verwenden))
Beschreibt die Verwendung dieser Compileroptionen für eine Debug- oder Releaselaufzeitbibliothek.
Compileroptionen
Enthält Links zu Artikeln, in denen die C- und C++-Compileroptionen sowie CL.exe erläutert werden.
Linkeroptionen
Enthält Links zu Artikeln, in denen die Linkeroptionen und LINK.EXE dargestellt werden.
Zusätzliche MSVC-Buildtools
Enthält Links zu den C-/C++-Buildtools, die in Visual Studio enthalten sind.