Exemplarische Vorgehensweise: Kompilieren eines systemeigenen C++-Programms in der Befehlszeile

Visual Studio enthält einen C- und C++-Befehlszeilencompiler. Sie können ihn verwenden, um von grundlegenden Konsolen-Apps bis hin zu Universelle Windows-Plattform-Apps, Desktop-Apps, Gerätetreibern und .NET-Komponenten alles zu erstellen.

In dieser exemplarischen Vorgehensweise erstellen Sie zunächst ein grundlegendes C++-Programm im „Hello World!“-Stil mithilfe eines Text-Editors und kompilieren dieses dann über die Befehlszeile. Wenn Sie die Visual Studio-IDE verwenden möchten, anstatt die Befehlszeile zu verwenden, lesen Sie die exemplarische Vorgehensweise: Arbeiten mit Projekten und Lösungen (C++) oder Verwenden der Visual Studio-IDE für C++-Desktopentwicklung.

In dieser exemplarischen Vorgehensweise können Sie Ihr eigenes C++-Programm verwenden, anstatt das hier verwendete Programm einzugeben. Alternativ können Sie ein C++-Codebeispiel aus einem anderen Artikel verwenden.

Voraussetzungen

Um diese exemplarische Vorgehensweise abzuschließen, müssen Sie entweder über Visual Studio und die optionale Desktop-Entwicklung mit C++ Workload oder über die Befehlszeilen-Buildtools für Visual Studio verfügen.

Visual Studio ist eine integrierte Entwicklungsumgebung (IDE). Diese unterstützt einen umfangreichen Editor, Ressourcen-Manager, Debugger und Compiler für viele Sprachen und Plattformen. Zu den verfügbaren Versionen gehört die kostenlose Visual Studio Community-Edition, die alle die C- und C++-Entwicklung unterstützen. Informationen zum Herunterladen und Installieren von Visual Studio finden Sie unter Installieren der C++-Unterstützung in Visual Studio.

Die Buildtools für Visual Studio installieren nur die Befehlszeilencompiler, Tools und Bibliotheken, die Sie benötigen, um C- und C++-Programme zu erstellen. Sie eignen sich ideal für Buildlabs oder Übungen im Schulungskontext und werden schnell installiert. Um nur die Befehlszeilentools zu installieren, suchen Sie nach Buildtools für Visual Studio in Visual Studio Downloads.

Überprüfen Sie, ob die Tools installiert sind und Sie über die Befehlszeile darauf zugreifen können, bevor Sie ein C- oder C++-Programm über die Befehlszeile erstellen. Microsoft C++ (MSVC) hat komplexe Anforderungen für die Befehlszeilenumgebung, um die tools, Header und Bibliotheken zu finden, die sie verwendet.

Sie können Microsoft C++ nicht in einem einfachen Eingabeaufforderungsfenster verwenden, ohne eine Vorbereitung durchzuführen. Microsoft C++ installiert Verknüpfungen, mit denen Sie eine Entwickler-Eingabeaufforderung starten können, bei der die Umgebung für Builds über die Befehlszeile eingerichtet ist. Leider unterscheiden sich die Namen der Entwickler-Eingabeaufforderungsverknüpfungen und deren Speicherort in fast jeder Version von Visual Studio und in verschiedenen Versionen von Windows. Die Eröffnungsaufgabe besteht darin, die richtige Wahl zu treffen.

Hinweis

Eine Verknüpfung für die Entwickler-Eingabeaufforderung legt automatisch die richtigen Pfade für den Compiler und die Tools sowie für alle erforderlichen Header und Bibliotheken fest. Sie müssen diese Umgebungswerte selbst festlegen, wenn Sie ein reguläres Eingabeaufforderungsfenster verwenden. Weitere Informationen finden Sie unter Verwenden des MSVC-Toolsets über die Befehlszeile. Es wird empfohlen, dass Sie eine Verknüpfung für die Entwickler-Eingabeaufforderung verwenden, anstatt Ihre eigene zu erstellen.

Öffnen einer Developer-Eingabeaufforderung

  1. Wenn Sie Visual Studio 2017 oder höher auf Windows 10 oder höher haben, öffnen Sie das Menü Start, und wählen Sie All apps aus. Scrollen Sie nach unten, und öffnen Sie den Ordner Visual Studio (nicht die Visual Studio-Anwendung). Klicken Sie auf Developer Command Prompt for VS (Developer-Eingabeaufforderung für VS), um das Eingabeaufforderungsfenster zu öffnen.

    Wenn Sie Microsoft Visual Studio Buildtools 2015 auf Windows 10 oder höher haben, öffnen Sie das Menü Start, und wählen Sie All apps aus. Scrollen Sie nach unten, und öffnen Sie den Ordner "Visual Studio Build Tools ". Wählen Sie x86 Native Tools Command Prompt, um das Eingabeaufforderungsfenster zu öffnen.

    Sie können auch die Windows-Suchfunktion verwenden, um nach der Entwickler-Eingabeaufforderung zu suchen und eine auszuwählen, die Ihrer installierten Version von Visual Studio entspricht. Verwenden Sie die Tastenkombination, um das Eingabeaufforderungsfenster zu öffnen.

  2. Vergewissern Sie sich, dass die C++-Entwickler-Eingabeaufforderung ordnungsgemäß eingerichtet ist. Geben Sie im Eingabeaufforderungsfenster cl ein, und überprüfen Sie, ob die Ausgabe in etwa wie folgt aussieht:

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise>cl
    Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    usage: cl [ option... ] filename... [ /link linkoption... ]
    

Möglicherweise gibt es Unterschiede in den aktuellen Verzeichnis- oder Versionsnummern. Diese Werte sind von der Version von MSVC und von allen installierten Updates abhängig. Wenn die Ausgabe dem angezeigten Entspricht, können Sie C- oder C++-Programme in der Befehlszeile erstellen.

Hinweis

Wenn beim Ausführen des cl Befehls ein Fehler wie „'cl'“ ist entweder nicht als interner oder externer Befehl, ausführbares Programm oder Batchdatei erkannt wird“, Fehler C1034 oder Fehler LNK1104 angezeigt wird, verwenden Sie entweder keine Eingabeaufforderung für Entwickler, oder mit Ihrer MSVC-Installation stimmt etwas nicht. Sie müssen das Problem beheben, bevor Sie fortfahren können.

Wenn Sie die Eingabeaufforderungsverknüpfung für Entwickler nicht finden können oder wenn beim Eingeben cleine Fehlermeldung angezeigt wird, liegt möglicherweise ein Problem bei der MSVC-Installation vor. Versuchen Sie, die MSVC-Komponente in Visual Studio oder Visual Studio Build Tools neu zu installieren. Fahren Sie nicht mit dem nächsten Abschnitt fort, bis der cl-Befehl funktioniert. Weitere Informationen zum Installieren und Beheben von MSVC finden Sie unter Installieren von Visual Studio.

Hinweis

Abhängig von der Version von Windows auf dem Computer und der Systemsicherheitskonfiguration müssen Sie ggf. mit der rechten Maustaste das Kontextmenü für die Verknüpfung der Entwickler-Eingabeaufforderung öffnen und anschließend Als Administrator ausführen wählen, um das Programm, das Sie gemäß dieser Schritt-für-Schritt-Anleitung erstellen, erfolgreich zu erstellen und auszuführen.

Erstellen sie eine C++-Quelldatei, und kompilieren Sie sie in der Befehlszeile.

  1. Geben Sie im Developer-Eingabeaufforderungsfenster md C:\hello ein, um ein Verzeichnis zu erstellen. Geben Sie anschließend cd C:\hello ein, um zu diesem Verzeichnis zu wechseln. In diesem Verzeichnis werden die Quelldatei und das kompilierte Programm erstellt.

  2. Geben Sie im Eingabeaufforderungsfenster notepad hello.cpp ein.

    Klicken Sie auf Ja, wenn Sie vom Editor aufgefordert werden, eine neue Datei zu erstellen. In diesem Schritt wird ein leeres Editorfenster geöffnet, in dem Sie Ihren Code in eine Datei mit dem Namen hello.cppeingeben können.

  3. Geben Sie in Notepad den folgenden Code ein:

    #include <iostream>
    using namespace std;
    int main()
    {
        cout << "Hello, world, from Microsoft C++!" << endl;
    }
    

    Dieser Code ist ein einfaches Programm, das eine Textzeile auf dem Bildschirm schreibt und dann beendet wird. Um Fehler zu minimieren, kopieren Sie diesen Code und fügen Sie ihn in einen Texteditor ein.

  4. Speichern Sie Ihre Arbeit. Wählen Sie im Editor im Menü Datei den Befehl Speichernaus.

    Glückwunsch! Sie haben eine C++-Quelldatei erstellt, hello.cppdie zum Kompilieren bereit ist.

  5. Wechseln Sie zurück zum Developer-Eingabeaufforderungsfenster. Geben Sie dir in die Eingabeaufforderung ein, um den Inhalt des Verzeichnisses C:\hello aufzulisten. Die Quelldatei hello.cpp sollte in der Verzeichnisauflistung angezeigt werden, die in etwa wie folgt aussieht:

    C:\hello>dir
     Volume in drive C is Local Disk
     Volume Serial Number is AA11-BB22
    
     Directory of C:\hello
    
    04/28/2026  01:26 PM    <DIR>          .
    04/28/2026  01:26 PM    <DIR>          ..
    04/28/2026  01:27 PM               117 hello.cpp
                   1 File(s)            117 bytes
    

    Die Datumsangaben und andere Details werden sich auf Ihrem Computer von den hier gezeigten unterscheiden.

    Hinweis

    Wenn die Quellcodedatei hello.cpp nicht angezeigt wird, vergewissern Sie sich, dass das aktuelle Arbeitsverzeichnis in der Eingabeaufforderung das von Ihnen erstellte Verzeichnis C:\hello ist. Stellen Sie außerdem sicher, dass dieser Speicherort das Verzeichnis ist, in dem Sie Die Quelldatei gespeichert haben.

    Stellen Sie sicher, dass Sie den Quellcode mit einer .cpp Dateinamenerweiterung und nicht mit einer .txt Erweiterung gespeichert haben. Die Quelldatei wird im aktuellen Verzeichnis automatisch als .cpp-Datei gespeichert, wenn Sie Notepad mit dem Befehl notepad hello.cpp über die Eingabeaufforderung öffnen.

    Wenn Sie Editor auf andere Weise öffnen, ist das Verhalten anders: Standardmäßig fügt Editor beim Speichern eine .txt-Erweiterung an neue Dateien an. Außerdem werden standardmäßig Dateien in Ihrem Documents Verzeichnis gespeichert. Wählen Sie im Editor .cpp>, um Ihre Datei mit der -Erweiterung zu speichern. Navigieren Sie im Dialogfeld Speichern unter im Steuerelement der Verzeichnisbaumansicht zu Ihrem Ordner C:\hello. Verwenden Sie dann das Dropdownsteuerelement "Speichern unter Typ", um alle Dateien (*.*) auszuwählen. Geben Sie hello.cpp im Dateiname-Eingabefeld ein, und wählen Sie Speichern aus, um die Datei zu speichern.

  6. Geben Sie in die Developer-Eingabeaufforderung cl /EHsc hello.cpp ein, um das Programm zu kompilieren.

    Der cl.exe-Compiler generiert eine OBJ-Datei, die den kompilierten Code enthält, und führt dann den Linker aus, um ein ausführbares Programm namens „hello.exe“ zu erstellen. Dieser Name wird in den Zeilen der Ausgabeinformationen angezeigt, die der Compiler anzeigt. Die Ausgabe des Compilers sollte etwa wie folgt aussehen:

    C:\hello>cl /EHsc hello.cpp
    Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    hello.cpp
    Microsoft (R) Incremental Linker Version 14.10.25017.0
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    /out:hello.exe
    hello.obj
    

    Hinweis

    Wenn Sie eine Fehlermeldung erhalten wie „'cl' ist nicht als interner oder externer Befehl, ausführbares Programm oder Batchdatei erkannt“, Fehler C1034 oder Fehler LNK1104, ist Ihre Developer-Eingabeaufforderung nicht ordnungsgemäß eingerichtet. Weitere Informationen zum Beheben dieses Problems finden Sie im Abschnitt Öffnen einer Developer-Eingabeaufforderung.

    Überprüfen Sie den Quellcode, um Fehler zu beheben, ihn zu speichern und den Compiler dann noch mal auszuführen, wenn Sie einen anderen Compiler- oder Linkerfehler oder eine andere Warnung erhalten. Verwenden Sie das Suchfeld, um nach der Fehlernummer zu suchen und Informationen zu bestimmten Fehlern zu erhalten.

  7. Geben Sie zum Ausführen des hello.exe-Programms an der Eingabeaufforderung helloein.

    Das Programm zeigt folgenden Text an und wird anschließend beendet:

    Hello, world, from Microsoft C++!
    

    Glückwunsch! Sie haben ein C++-Programm mithilfe der Befehlszeilentools kompiliert und ausgeführt.

Nächste Schritte

Dieses „Hello World!“-Beispiel ist die einfachste Form eines C++-Programms. In realen Programmen sind in der Regel Headerdateien, weitere Quelldateien und Links zu Bibliotheken enthalten.

Sie können die Schritte in dieser exemplarischen Vorgehensweise verwenden, um Ihren eigenen C++-Code zu erstellen, anstatt den gezeigten Beispielcode einzugeben. Mit diesen Schritten können Sie auch viele C++-Codebeispielprogramme erstellen, die Sie auch an anderer Stelle finden. Sie können Den Quellcode ablegen und Ihre Apps in jedem schreibbaren Verzeichnis erstellen. Standardmäßig erstellt der Visual Studio-IDE Projekte in Ihrem Benutzerordner in einem Unterordner source\repos. Ältere Versionen können Projekte in einem Ordner "Documents\Visual Studio \{version}\Projects" platzieren.

Um ein Programm mit anderen Quellcodedateien zu kompilieren, geben Sie sie in der Befehlszeile wie folgt ein:

cl /EHsc file1.cpp file2.cpp file3.cpp

Die /EHsc-Befehlszeilenoption weist den Compiler an, das C++-Standardausnahmebehandlungsverhalten zu aktivieren. Ohne diesen Vorgang können ausgelöste Ausnahmen zu nicht zerstörten Objekten und Ressourcenlecks führen. Weitere Informationen finden Sie unter /EH (Ausnahmebehandlungsmodell).

Wenn Sie andere Quelldateien angeben, verwendet der Compiler die erste Eingabedatei, um den Programmnamen zu erstellen. In diesem Fall wird ein Programm namens file1.exe erstellt. Um den Namen in program1.exe zu ändern, fügen Sie die Linkeroption /out hinzu:

cl /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

Um mehr Programmierfehler automatisch zu erkennen, empfehlen wir, beim Kompilieren entweder die Warnstufenoption /W3 oder /W4 zu verwenden:

cl /W4 /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

Der Compiler „cl.exe“ bietet viele weitere Optionen. Sie können diese zum Erstellen, Optimieren, Debuggen und Analysieren Ihres Codes anwenden. Geben Sie cl /? in die Developer-Eingabeaufforderung ein, um eine kurze Liste anzuzeigen. Sie können die Kompilierung und Verknüpfung auch separat vornehmen und Linkeroptionen in komplexeren Buildszenarios anwenden. Weitere Informationen zu den Compiler- und Linkeroptionen und deren Verwendung finden Sie unter Referenz zur C-/C++-Erstellung.

Sie können NMAKE und Makefiles, MSBuild und Projektdateien oder CMake zum Konfigurieren und Erstellen komplexerer Projekte in der Befehlszeile verwenden. Weitere Informationen zur Verwendung dieser Tools finden Sie unter NMAKE-Referenz, MSBuild und CMake-Projekte in Visual Studio.

Die C- und C++-Sprachen sind ähnlich, aber nicht identisch. Der MSVC-Compiler verwendet eine einfache Regel, um zu bestimmen, welche Sprache verwendet werden soll, wenn der Code kompiliert wird. Standardmäßig behandelt der MSVC-Compiler auf .c endende Dateien wie C-Quellcode und auf .cpp endende Dateien wie C++-Quellcode. Wenn Sie erzwingen möchten, dass vom Compiler alle Dateien unabhängig von der C++-Dateierweiterung behandelt werden, verwenden Sie die Compileroption /TP.

Der MSVC-Compiler enthält eine C-Laufzeitbibliothek (C Runtime Library, CRT), die mit kleinen Ausnahmen dem ISO C99-Standard entspricht. Portabler Code wird in der Regel wie erwartet kompiliert und ausgeführt. Bestimmte veraltete Bibliotheksfunktionen und mehrere POSIX-Funktionsnamen werden vom MSVC-Compiler als veraltet markiert. Die Funktionen werden unterstützt, aber die bevorzugten Namen wurden geändert. Weitere Informationen finden Sie unter Sicherheitsfunktionen in der CRT und Compilerwarnung C4996 (Stufe 3).

Siehe auch