C/C++ Projekte und Buildsysteme in Visual StudioC/C++ projects and build systems in Visual Studio

Mithilfe von Visual Studio können Sie jede C++ Codebasis mit vollständiger IntelliSense-Unterstützung bearbeiten, kompilieren und erstellen, ohne den Code in ein Visual Studio-Projekt konvertieren oder mit dem MSVC-Toolset kompilieren zu müssen.You can use Visual Studio to edit, compile and build any C++ code base with full IntelliSense support without having to convert that code into a Visual Studio project or compile with the MSVC toolset. Beispielsweise können Sie ein plattformübergreifendes cmake-Projekt in Visual Studio auf einem Windows-Computer bearbeiten und dann für Linux mit g + + auf einem Linux-Remote Computer kompilieren.For example, you can edit a cross-platform CMake project in Visual Studio on a Windows machine, then compile it for Linux using g++ on a remote Linux machine.

C++NeuauflageC++ compilation

C++ Um ein Programm zu erstellen, können Sie Quellcode aus einer oder mehreren Dateien kompilieren und diese Dateien dann in eine ausführbare Datei (exe), eine Dynamic Load Library (dll) oder eine statische Bibliothek (. lib) verknüpfen.To build a C++ program means to compile source code from one or more files and then link those files into an executable file (.exe), a dynamic-load library (.dll) or a static library (.lib).

Die C++ grundlegende Kompilierung umfasst drei Hauptschritte:Basic C++ compilation involves three main steps:

  • Der C++ Präprozessor wandelt alle #Directives-und Makro Definitionen in jeder Quelldatei um.The C++ preprocessor transforms all the #directives and macro definitions in each source file. Dadurch wird eine Übersetzungseinheiterstellt.This creates a translation unit.
  • Der C++ Compiler kompiliert jede Übersetzungseinheit in Objektdateien (. obj) und wendet alle festgelegten Compileroptionen an.The C++ compiler compiles each translation unit into object files (.obj), applying whatever compiler options have been set.
  • Der Linker führt die Objektdateien in einer einzelnen ausführbaren Datei zusammen und wendet dabei die Linkeroptionen an, die festgelegt wurden.The linker merges the object files into a single executable, applying the linker options that have been set.

Das MSVC-ToolsetThe MSVC toolset

Der Microsoft C++ -Compiler, Linker, Standardbibliotheken und zugehörige Hilfsprogramme bilden das MSVC-Compilertoolset (auch als Toolkette oder "Buildtools" bezeichnet).The Microsoft C++ compiler, linker, standard libraries, and related utilities comprise the MSVC compiler toolset (also called a toolchain or "build tools"). Diese sind in Visual Studio enthalten.These are included in Visual Studio. Sie können das Toolset auch als eigenständiges Paket kostenlos über den Download Speicherort für Buildtools für Visual Studio 2019herunterladen und verwenden.You can also download and use the toolset as a standalone package for free from the Build Tools for Visual Studio 2019 download location.

Sie können einfache Programme erstellen, indem Sie den MSVC-Compiler (cl. exe) direkt über die Befehlszeile aufrufen.You can build simple programs by invoking the MSVC compiler (cl.exe) directly from the command line. Der folgende Befehl akzeptiert eine einzelne Quell Code Datei und ruft cl. exe auf, um eine ausführbare Datei mit dem Namen " Hello. exe" zu erstellen:The following command accepts a single source code file, and invokes cl.exe to build an executable called hello.exe:

cl /EHsc hello.cpp

Beachten Sie, dass der Compiler (cl. exe) den C++ Präprozessor und den Linker automatisch aufruft, um die endgültige Ausgabedatei zu entwickeln.Note that here the compiler (cl.exe) automatically invokes the C++ preprocessor and the linker to produce the final output file. Weitere Informationen finden Sie unter Building in der Befehlszeile.For more information, see Building on the command line.

Buildsysteme und ProjekteBuild systems and projects

In den meisten realen Programmen wird ein Buildsystem verwendet, um die Komplexität der Kompilierung mehrerer Quelldateien für mehrere Konfigurationen (d. h. Debug oder Release), mehrere Plattformen (x86, x64, Arm usw.), benutzerdefinierte Buildschritte und sogar mehrere ausführbare Dateien zu verwalten, die in einer bestimmten Reihenfolge kompiliert werden müssen.Most real-world programs use some kind of build system to manage complexities of compiling multiple source files for multiple configurations (i.e. debug vs. release), multiple platforms (x86, x64, ARM, and so on), custom build steps, and even multiple executables that must be compiled in a certain order. Sie nehmen Einstellungen in einer buildkonfigurationsdatei (en) vor, und das Buildsystem akzeptiert diese Datei als Eingabe, bevor Sie den Compiler aufruft.You make settings in a build configuration file(s), and the build system accepts that file as input before it invoke the compiler. Der Satz von Quell Code Dateien und buildkonfigurationsdateien, die zum Erstellen einer ausführbaren Datei erforderlich sind, wird als Projektbezeichnet.The set of source code files and build configuration files needed to build an executable file is called a project.

In der folgenden Liste werden verschiedene Optionen für Visual Studio- C++Projekte angezeigt:The following list shows various options for Visual Studio Projects - C++:

  • Erstellen Sie ein Visual Studio-Projekt mithilfe der Visual Studio-IDE, und konfigurieren Sie es mithilfe von Eigenschaften Seiten.create a Visual Studio project by using the Visual Studio IDE and configure it by using property pages. In Visual Studio-Projekten werden Programme erzeugt, die unter Windows ausgeführt werden.Visual Studio projects produce programs that run on Windows. Eine Übersicht finden Sie unter Kompilieren und erstellen in der Visual Studio-Dokumentation.For an overview, see Compiling and Building in the Visual Studio documentation.

  • Öffnen Sie einen Ordner, der die Datei "CMakeLists. txt" enthält.open a folder that contains a CMakeLists.txt file. Cmake-Unterstützung ist in Visual Studio integriert.CMake support is integrated into Visual Studio. Sie können die IDE zum Bearbeiten, testen und Debuggen verwenden, ohne die cmake-Dateien in irgendeiner Weise zu ändern.You can use the IDE to edit, test and debug without modifying the CMake files in any way. Auf diese Weise können Sie im gleichen cmake-Projekt arbeiten wie andere, die möglicherweise unterschiedliche Editoren verwenden.This enables you to work in the same CMake project as others who might be using different editors. Cmake ist die empfohlene Vorgehensweise für die plattformübergreifende Entwicklung.CMake is the recommended approach for cross-platform development. Weitere Informationen finden Sie unter cmake-Projekte.For more information, see CMake projects.

  • Öffnen Sie einen losen Ordner der Quelldateien ohne Projektdatei.open a loose folder of source files with no project file. Visual Studio verwendet Heuristik, um die Dateien zu erstellen.Visual Studio will use heuristics to build the files. Dies ist eine einfache Möglichkeit, kleine Konsolen Anwendungen zu kompilieren und auszuführen.This is an easy way to compile and run small console applications. Weitere Informationen finden Sie unter Öffnen von Ordner Projekten.For more information, see Open Folder projects.

  • Öffnen Sie einen Ordner, der ein Makefile oder eine beliebige andere buildsystemkonfigurationsdatei enthält.open a folder that contains a makefile, or any other build system configuration file. Sie können Visual Studio so konfigurieren, dass beliebige Buildbefehle aufgerufen werden, indem Sie dem Ordner JSON-Dateien hinzufügen.You can configure Visual Studio to invoke any arbitrary build commands by adding JSON files to the folder. Weitere Informationen finden Sie unter Öffnen von Ordner Projekten.For more information, see Open Folder projects.

  • Öffnen Sie in Visual Studio ein Windows-Makefile.Open a Windows makefile in Visual Studio. Weitere Informationen finden Sie unter NMAKE-Referenz.For more information, see NMAKE Reference.

MSBuild über die BefehlszeileMSBuild from the command line

Sie können MSBuild von der Befehlszeile aus aufrufen, indem Sie eine vcxproj-Datei zusammen mit Befehlszeilenoptionen übergeben.You can invoke MSBuild from the command line by passing it a .vcxproj file along with command-line options. Diese Vorgehensweise erfordert ein gutes Verständnis von MSBuild und wird nur empfohlen, wenn dies unbedingt erforderlich ist.This approach requires a good understanding of MSBuild, and is recommended only when absolutely necessary. Weitere Informationen finden Sie unter MSBuild.For more information, see MSBuild.

In diesem AbschnittIn This Section

Visual Studio-Projekte Erstellen, konfigurieren und Erstellen von C++ Projekten in Visual Studio mithilfe des nativen Buildsystems (MSBuild).Visual Studio projects How to create, configure, and build C++ projects in Visual Studio using its native build system (MSBuild).

Cmake-Projekte Gewusst wie: Programmieren, erstellen und Bereitstellen von cmake-Projekten in Visual StudioCMake projects How to code, build, and deploy CMake projects in Visual Studio.

Ordner Projekte öffnen Verwenden von Visual Studio zum Programmieren, erstellen und bereit C++ stellen von Projekten auf der Grundlage beliebiger Buildsysteme oder eines Buildsystems.Open Folder projects How to use Visual Studio to code, build and deploy C++ projects based on any arbitrary build system, or no build system. Überhaupt.at all.

Releasebuilds Erstellen und Beheben von Problemen mit optimierten Releasebuilds für die Bereitstellung für Endbenutzer.Release builds How to create and troubleshoot optimized release builds for deployment to end users.

Verwenden des MSVC-Toolsets über die BefehlszeileUse the MSVC toolset from the command line
Erläutert, wie der C/CompilerC++ und die Buildtools direkt über die Befehlszeile anstelle der Visual Studio-IDE verwendet werden.Discusses how to use the C/C++ compiler and build tools directly from the command line rather than using the Visual Studio IDE.

Entwickeln von DLLs in Visual Studio Erstellen, Debuggen und Bereitstellen vonC++ C/DLLs (freigegebene Bibliotheken) in Visual Studio.Building DLLs in Visual Studio How to create, debug and deploy C/C++ DLLs (shared libraries) in Visual Studio.

Exemplarische Vorgehensweise : Erstellen und Verwenden einer statischen Bibliothek So erstellen Sie eine lib-Binärdatei.Walkthrough: Creating and Using a Static Library How to create a .lib binary file.

Aufbauen von CC++ /isolierten Anwendungen und parallelen Assemblys Beschreibt das Bereitstellungs Modell für Windows-Desktop Anwendungen, das auf der Idee von isolierten Anwendungen und parallelen Assemblys basiert.Building C/C++ Isolated Applications and Side-by-side Assemblies Describes the deployment model for Windows Desktop applications, based on the idea of isolated applications and side-by-side assemblies.

Konfigurieren C++ von Projekten für 64-Bit-, x64-Ziele Gewusst wie: Erstellen von 64-Bit-x64-Hardware mit den MSVC-BuildtoolsConfigure C++ projects for 64-bit, x64 targets How to target 64-bit x64 hardware with the MSVC build tools.

Konfigurieren C++ von Projekten für ARM-Prozessoren Verwenden der MSVC-Buildtools zum Ausrichten von Arm-HardwareConfigure C++ projects for ARM processors How to use the MSVC build tools to target ARM hardware.

Optimieren Ihres Codes Wie Sie Ihren Code auf verschiedene Weise optimieren, einschließlich Programm gesteuerter Optimierungen.Optimizing Your Code How to optimize your code in various ways including program guided optimizations.

Konfigurieren von Programmen für Windows XP Gewusst wie: Erstellen von Windows XP mit den MSVC-BuildtoolsConfiguring Programs for Windows XP How to target Windows XP with the MSVC build tools.

Referenz zur C/C++-ErstellungC/C++ Building Reference
Bietet Links zu Referenzartikeln für das Erstellen von Programmen in C++, zu Compiler- und Linkeroptionen und verschiedenen Buildtools.Provides links to reference articles about program building in C++, compiler and linker options, and various build tools.