CMake-Projekte in Visual Studio

CMake ist ein plattformübergreifendes Open Source-Tool, das zum Definieren von Buildprozessen verwendet wird, die auf mehreren Plattformen ausgeführt werden. In diesem Artikel wird davon ausgegangen, dass Sie mit CMake vertraut sind. Weitere Informationen zu CMake finden Sie in der CMake-Dokumentation. Das CMake-Tutorial ist ein guter Ausgangspunkt, um mehr zu erfahren.

Hinweis

CMake wurde in den letzten Releases immer mehr in Visual Studio integriert. Um die Dokumentation für Ihre bevorzugte Version von Visual Studio anzuzeigen, verwenden Sie das Auswahlsteuerelement Version. Es befindet sich am Anfang des Inhaltsverzeichnisses auf dieser Seite.

Die Komponente C++-CMake-Tools für Windows verwendet die Funktion Ordner öffnen, um CMake-Projektdateien (z. B. CMakeLists.txt ) direkt für IntelliSense und das Durchsuchen nutzen zu können. Es werden sowohl Ninja- als auch Visual Studio-Generatoren unterstützt. Wenn Sie einen Visual Studio-Generator verwenden, generiert dieser eine temporäre Projektdatei und übergibt sie an MSBuild. Das Projekt wird jedoch nie für IntelliSense oder zum Durchsuchen geladen. Sie können auch einen vorhandenen CMake-Cache importieren.

Installation

Die Komponente C++-CMake-Tools für Windows wird als Teil der Workloads Desktopentwicklung mit C++ und Linux Entwicklung mit C++ installiert. Weitere Informationen finden Sie unter Erstellen und Konfigurieren eines Linux-CMake-Projekts.

Screenshot des Dropdownmenüs „Desktopentwicklung mit C plus plus“, in dem die Option „C plus plus C Make-Tools für Windows“ gekennzeichnet ist.

Weitere Informationen finden Sie unter Install the C++ Linux workload in Visual Studio (Installieren der C++-Workload unter Linux in Visual Studio).

IDE-Integration

Wenn Sie auf Datei > Öffnen > Ordner klicken, um einen Ordner zu öffnen, der die Datei CMakeLists.txt enthält, geschieht Folgendes:

  • Visual Studio fügt ein CMake-Element zum Menü Projekt mit Befehlen zum Anzeigen und Bearbeiten von CMake-Skripts hinzu.

  • Der Projektmappen-Explorer zeigt die Ordnerstruktur und die Dateien an.

  • Visual Studio führt CMake aus und generiert die CMake-Cachedatei ( CMakeCache.txt ) für die Standardkonfiguration (x64 Debug). Die CMake-Befehlszeile wird im Ausgabefenster zusammen mit weiteren Ausgaben von CMake angezeigt.

  • Im Hintergrund beginnt Visual Studio damit, die Quelldateien zu indizieren, um IntelliSense, das Durchsuchen von Informationen, das Refactoring und vieles mehr zu ermöglichen. Während Sie arbeiten, überwacht Visual Studio die Änderungen im Editor und auf dem Datenträger, damit der Index mit den Quellen synchron ist.

Sie können Ordner öffnen, die eine beliebige Anzahl von CMake-Projekten enthalten. Visual Studio erkennt und konfiguriert alle CMakeLists.txt -Stammdateien in Ihrem Arbeitsbereich. CMake-Vorgänge (Konfigurieren, Erstellen, Debuggen), IntelliSense für C++ und das Durchsuchen sind für alle CMake-Projekte in Ihrem Arbeitsbereich verfügbar.

CMake-Projekte mit mehreren Stammdateien.

Sie können die Projekte auch logisch strukturiert nach Zielen anzeigen. Wählen Sie in der Dropdownliste der Symbolleiste des Projektmappen-Explorers die Option Zielansicht aus:

Schaltfläche für CMake-Zielansicht.

Klicken Sie oben im Projektmappen-Explorer auf Alle Dateien anzeigen, um die von CMake generierten Ausgaben in den Ordnern out/build/\<config> anzuzeigen.

Visual Studio verwendet eine Konfigurationsdatei mit dem Namen CMakeSettings.json . Mit dieser Datei können Sie mehrere Buildkonfigurationen definieren und speichern und in der IDE zwischen ihnen wechseln. Eine Konfiguration ist ein Visual Studio-Konstrukt, das Einstellungen kapselt, die für einen bestimmten Buildtyp spezifisch sind. Die Einstellungen werden verwendet, um die Standardbefehlszeilenoptionen zu konfigurieren, die Visual Studio an CMake übergibt. Sie können hier auch weitere CMake-Optionen angeben und alle zusätzlichen gewünschten Variablen definieren. Alle Optionen werden entweder als interne oder externe Variablen in den CMake-Cache geschrieben. In Visual Studio 2019 bietet der Editor für CMake-Einstellungen eine bequeme Möglichkeit zum Bearbeiten der Einstellungen. Weitere Informationen finden Sie unter Customize CMake settings (Anpassen von CMake-Einstellungen).

Die Einstellung intelliSenseMode wird nicht an CMake übergeben, sondern wird nur von Visual Studio verwendet.

Verwenden Sie die Datei CMakeLists.txt in jedem Projektordner wie in jedem anderen CMake-Projekt. Sie können Quelldateien angeben, Bibliotheken suchen, Compiler- und Linkeroptionen festlegen und weitere Informationen im Zusammenhang mit dem Buildsystem angeben.

Um beim Debuggen Argumente an eine ausführbare Datei zu übergeben, können Sie eine andere Datei mit dem Namen launch.vs.json verwenden. In einigen Szenarios werden diese Dateien von Visual Studio automatisch generiert. Sie können sie manuell bearbeiten oder sogar die Datei selbst erstellen.

Hinweis

Für andere Arten von „Ordner öffnen“-Projekten werden zwei zusätzliche JSON-Dateien verwendet: CppProperties.json und tasks.vs.json . Diese sind für CMake-Projekte jedoch nicht relevant.

Öffnen eines vorhandenen Caches

Wenn Sie eine vorhandene CMake-Cachedatei ( CMakeCache.txt ) öffnen, versucht Visual Studio nicht, Ihren Cache und die Buildstruktur für Sie zu verwalten. Ihre benutzerdefinierten oder bevorzugten Tools haben die umfassende Kontrolle darüber, wie CMake das Projekt konfiguriert. Klicken Sie auf Datei > Öffnen > CMake, um einen vorhandenen Cache in Visual Studio zu öffnen. Navigieren Sie dann zu einer vorhandenen CMakeCache.txt -Datei.

Sie können einem geöffneten Projekt einen vorhandenen CMake-Cache hinzufügen. Dies erfolgt auf die gleiche Weise wie das Hinzufügen einer neuen Konfiguration. Weitere Informationen finden Sie in unserem Blogbeitrag zum Öffnen eines vorhandenen Caches in Visual Studio.

Hinweis

Das vorhandene Standardcaching basiert auf cmake-server. Dieses Feature wurde in Version 3.20 aus CMake entfernt. Ergreifen Sie eine der folgenden Maßnahmen, um die Cachingfunktionalität in Visual Studio 2019 16.10 und höher weiterhin zu verwenden:

  • Installieren Sie CMake 3.19 oder niedriger manuell. Legen Sie dann die Eigenschaft cmakeExecutable in Ihrer vorhandenen Cachekonfiguration auf diese Version von CMake fest.
  • Legen Sie in Ihrer vorhandenen Cachekonfiguration die Eigenschaft cacheGenerationCommand fest, damit Visual Studio die erforderlichen dateibasierten API-Dateien für CMake anfordern kann. Weitere Informationen zu dieser Eigenschaft finden Sie in der Referenz zu „CMakeSettings.json“.
  • Verwenden Sie eine Abfragedatei, um die dateibasierten API-Dateien für CMake anzufordern, wenn Sie Ihren Cache generieren, bevor er in Visual Studio geöffnet wird. Anleitungen zu Abfragedateien finden Sie im nächsten Abschnitt, Erweiterte Problembehandlung für den CMake-Cache.

Erweiterte Problembehandlung für den CMake-Cache

Visual Studio verwendet die dateibasierte API von CMake (in Version 3.14 und höher), um den Editor mit Informationen für die jeweilige Projektstruktur zu füllen. Weitere Informationen finden Sie im Blogbeitrag des C++-Teams zu Multi-Root-Arbeitsbereichen und der dateibasierten API.

Vor dem Generieren des CMake-Caches müssen Ihre benutzerdefinierten oder bevorzugten Tools möglicherweise eine Abfragedatei mit dem Namen .cmake/api/v1/query/client-MicrosoftVS/query.json im Buildausgabeordner erstellen (der Ordner, der CMakeCache.txt enthält). Die Abfragedatei sollte diesen Inhalt enthalten:

{"requests":[{"kind":"cache","version":2},{"kind":"cmakeFiles","version":1},{"kind":"codemodel","version":2}]}

Wenn Ihre benutzerdefinierten oder bevorzugten Tools den Cache generieren, speichert CMake Dateien unter .cmake/api/v1/response . Diese werden von Visual Studio verwendet, um den Editor mit Informationen für die jeweilige Projektstruktur zu füllen.

Erstellen von CMake-Projekten

Folgende Optionen stehen Ihnen zum Erstellen eines CMake-Projekts zur Verfügung:

  1. Suchen Sie auf der Symbolleiste „Allgemein“ nach dem Dropdownmenü Konfigurationen. Es wird wahrscheinlich standardmäßig „x64-Debug“ angezeigt. Klicken Sie auf die bevorzugte Konfiguration, und drücken Sie F5 oder klicken Sie auf der Symbolleiste auf die Schaltfläche Ausführen (grünes Dreieck). Das Projekt wird genau wie eine Visual Studio-Projektmappe zunächst erstellt.

  2. Klicken Sie mit der rechten Maustaste auf CMakeLists.txt , und wählen Sie im Kontextmenü Erstellen aus. Wenn mehrere Ziele in Ihrer Ordnerstruktur vorhanden sind, können Sie auswählen, den Build für alle oder nur für ein bestimmtes Ziel durchzuführen.

  3. Klicken Sie im Hauptmenü auf Erstellen > Alle erstellen (F7 oder STRG+UMSCHALT+B). Stellen Sie sicher, dass ein CMake-Ziel bereits in der Dropdownliste Startelement auf der Symbolleiste Allgemein ausgewählt ist.

CMake-Menübefehl „Erstellen“.

Erwartungsgemäß werden die Buildergebnisse im Ausgabefenster und in der Fehlerliste angezeigt.

CMake-Buildfehler.

In einem Ordner mit mehreren Buildzielen können Sie angeben, welches CMake-Ziel erstellt werden soll: Wählen Sie das Element Erstellen im Menü CMake oder das Kontextmenü von CMakeLists.txt aus, um das Ziel anzugeben. Wenn Sie in einem CMake-Projekt STRG+UMSCHALT+B drücken, wird das derzeit aktive Dokument erstellt.

Debuggen von CMake-Projekten

Wenn Sie ein CMake-Projekt debuggen möchten, wählen Sie die gewünschte Konfiguration aus, und drücken Sie F5. Klicken Sie alternativ auf die Schaltfläche Ausführen auf der Symbolleiste. Wenn die Schaltfläche Ausführen die Option „Startelement auswählen“ anzeigt, klicken Sie auf den Dropdownpfeil. Wählen Sie das Ziel aus, das Sie ausführen möchten. (In einem CMake-Projekt ist die Option „Aktuelles Dokument“ nur für CPP-Dateien gültig.)

CMake-Schaltfläche „Ausführen“.

Durch Ausführen oder F5 wird das Projekt zunächst erstellt, wenn seit dem vorherigen Build Änderungen vorgenommen wurden. Änderungen an CMakeSettings.json bewirken, dass der CMake-Cache erneut generiert wird.

Sie können eine CMake-Debugsitzung durch Festlegen von Eigenschaften in der Datei launch.vs.json anpassen. Weitere Informationen finden Sie unter Configure CMake debugging sessions (Konfigurieren von CMake-Debugsitzungen).

„Nur eigenen Code“ für CMake-Projekte

Wenn Sie für Windows mit dem MSVC-Compiler erstellen, unterstützen CMake-Projekte das „Nur eigenen Code“-Debuggen. Navigieren Sie zu Extras > Optionen > Debuggen > Allgemein, um die „Nur eigenen Code“-Einstellung zu ändern.

Vcpkg-Integration

Wenn Sie vcpkg installiert haben, integrieren in Visual Studio geöffnete CMake-Projekte automatisch die vcpkg-Toolkettendatei. Dies bedeutet, dass für die Verwendung von vcpkg mit Ihren CMake-Projekten keine zusätzliche Konfiguration erforderlich ist. Diese Unterstützung kann sowohl für lokale vcpkg-Installationen als auch für vcpkg-Installationen auf Remotesystemen verwendet werden, die Sie als Ziel verwenden. Dieses Verhalten wird automatisch deaktiviert, wenn Sie eine andere Toolkette in der Konfiguration der CMake-Einstellungen angeben.

Anpassen von Konfigurationsmeldungen

Die meisten Konfigurationsmeldungen werden standardmäßig unterdrückt, es sei denn, es ist ein Fehler aufgetreten. Sie können alle Nachrichten anzeigen, indem Sie dieses Feature über Extras > Optionen > CMake aktivieren.

Konfigurieren von CMake-Diagnoseoptionen.

Bearbeiten von CMakeLists.txt -Dateien

Wenn Sie eine CMakeLists.txt -Datei bearbeiten möchten, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Datei, und klicken Sie auf Öffnen. Wenn Sie Änderungen an der Datei vornehmen, wird eine gelbe Statusleiste angezeigt, die Sie darüber informiert, dass IntelliSense ein Update durchführen möchte. Sie haben die Möglichkeit, den Updatevorgang abzubrechen. Weitere Informationen zu CMakeLists.txt finden Sie in der CMake-Dokumentation.

Bearbeiten von CMakeLists.txt-Dateien.

Sobald Sie die Datei speichern, wird der Konfigurationsschritt automatisch erneut ausgeführt. Dieser zeigt Informationen im Ausgabefenster an. Fehler und Warnungen werden in der Fehlerliste oder im Ausgabefenster angezeigt. Doppelklicken Sie auf einen Fehler in der Fehlerliste, um zur problematischen Zeile in CMakeLists.txt zu navigieren.

CMakeLists.txt-Dateifehler.

CMake-Konfigurationsschritt

Wenn wichtige Änderungen an der Datei CMakeSettings.json oder an der Datei CMakeLists.txt vorgenommen werden, führt Visual Studio den CMake-Konfigurationsschritt automatisch erneut aus. Wenn der Konfigurationsschritt ohne Fehler abgeschlossen wird, sind die gesammelten Informationen in IntelliSense für C++ und den Sprachdiensten verfügbar. Er wird auch in Erstellungs- und Debugvorgängen verwendet.

Behandlung von CMake-Cachefehlern

Wenn Sie weitere Informationen zum Status des CMake-Caches benötigen, um ein Problem zu diagnostizieren, öffnen Sie das Hauptmenü Projekt oder das Kontextmenü von CMakeLists.txt im Projektmappen-Explorer, um einen der folgenden Befehle auszuführen:

  • Cache anzeigen öffnet die Datei CMakeCache.txt aus dem Stammordner des Builds im Editor. (Alle Änderungen, die Sie hier an CMakeCache.txt vornehmen, werden verworfen, wenn Sie den Cache bereinigen.) Informationen zum Vornehmen von Änderungen, die nach dem Bereinigen des Caches beibehalten werden, finden Sie unter Anpassen von CMake-Einstellungen.)

  • Cacheordner öffnen öffnet ein Explorer-Fenster zum Stammordner des Builds.

  • Cache bereinigen löscht den Stammordner des Builds, sodass der nächste CMake-Konfigurationsschritt mit einem leeren Cache beginnt.

  • Cache generieren erzwingt die Ausführung des Schritts „Generieren“, auch wenn Visual Studio die Umgebung für aktuell hält.

Die automatische Cachegenerierung kann im Dialogfeld Extras > Optionen > CMake > Allgemein deaktiviert werden.

Ausführen von CMake über die Befehlszeile

Wenn Sie CMake über den Visual Studio-Installer installiert haben, können Sie CMake über die Befehlszeile ausführen, indem Sie die folgenden Schritte ausführen:

  1. Führen Sie die entsprechende Datei vsdevcmd.bat (x86/x64) aus. Weitere Informationen finden Sie unter Erstellen über die Befehlszeile.

  2. Wechseln Sie zu Ihrem Ausgabeordner.

  3. Führen Sie CMake zum Erstellen oder Konfigurieren Ihrer App aus.

Visual Studio 2017 bietet umfangreiche Unterstützung für CMake einschließlich plattformübergreifender CMake-Projekte. Die Komponente Visual C++-Tools für CMake verwendet die Funktion Ordner öffnen, um der IDE die Verwendung von CMake-Projektdateien (z. B. CMakeLists.txt ) direkt für IntelliSense und das Durchsuchen zu ermöglichen. Es werden sowohl Ninja- als auch Visual Studio-Generatoren unterstützt. Wenn Sie einen Visual Studio-Generator verwenden, generiert dieser eine temporäre Projektdatei und übergibt sie an MSBuild. Das Projekt wird jedoch nie für IntelliSense oder zum Durchsuchen geladen. Sie können auch einen vorhandenen CMake-Cache verwenden.

Installation

Die Komponente Visual C++-Tools für CMake wird standardmäßig als Teil der Workloads Desktopentwicklung mit C++ und Linux Entwicklung mit C++ installiert.

Screenshot der Registerkarte „Einzelne Komponenten“, in dem die Option „Visual C plus plus-Tools für C Make“ gekennzeichnet ist.

Weitere Informationen finden Sie unter Install the C++ Linux workload in Visual Studio (Installieren der C++-Workload unter Linux in Visual Studio).

IDE-Integration

Wenn Sie auf Datei > Öffnen > Ordner klicken, um einen Ordner zu öffnen, der die Datei CMakeLists.txt enthält, geschieht Folgendes:

  • Visual Studio fügt ein CMake-Menüelement zum Hauptmenü hinzu, das Befehle für das Anzeigen und Bearbeiten von CMake-Skripts enthält.

  • Der Projektmappen-Explorer zeigt die Ordnerstruktur und die Dateien an.

  • Visual Studio führt CMake aus und generiert optional den CMake-Cache für die Standardkonfiguration (x86 Debug). Die CMake-Befehlszeile wird im Ausgabefenster zusammen mit weiteren Ausgaben von CMake angezeigt.

  • Im Hintergrund beginnt Visual Studio damit, die Quelldateien zu indizieren, um IntelliSense, das Durchsuchen von Informationen, das Refactoring und vieles mehr zu ermöglichen. Während Sie arbeiten, überwacht Visual Studio die Änderungen im Editor und auf dem Datenträger, damit der Index mit den Quellen synchron ist.

Sie können Ordner öffnen, die eine beliebige Anzahl von CMake-Projekten enthalten. Visual Studio erkennt und konfiguriert alle CMakeLists.txt -Stammdateien in Ihrem Arbeitsbereich. CMake-Vorgänge (Konfigurieren, Erstellen, Debuggen), IntelliSense für C++ und das Durchsuchen sind für alle CMake-Projekte in Ihrem Arbeitsbereich verfügbar.

CMake-Projekte mit mehreren Stammdateien.

Sie können die Projekte auch logisch strukturiert nach Zielen anzeigen. Wählen Sie in der Dropdownliste der Symbolleiste des Projektmappen-Explorers die Option Zielansicht aus:

Schaltfläche für CMake-Zielansicht.

Visual Studio verwendet die Datei CMakeSettings.json zum Speichern von Umgebungsvariablen oder Befehlszeilenoptionen für CMake. CMakeSettings.json ermöglicht außerdem das Definieren und Speichern mehrerer CMake-Buildkonfigurationen. Sie können in der IDE bequem zwischen ihnen wechseln.

Verwenden Sie CMakeLists.txt andernfalls einfach wie in jedem anderen CMake-Projekt zum Angeben von Quelldateien, Suchen von Bibliotheken, Festlegen von Compiler- und Linkeroptionen sowie zum Angeben weiterer Informationen zum Buildsystem.

Wenn Sie beim Debuggen Argumente an eine ausführbare Datei übergeben müssen, können Sie eine andere Datei mit dem Namen launch.vs.json verwenden. In einigen Szenarios werden diese Dateien von Visual Studio automatisch generiert. Sie können sie manuell bearbeiten oder sogar die Datei selbst erstellen.

Hinweis

Für andere Arten von „Ordner öffnen“-Projekten werden zwei zusätzliche JSON-Dateien verwendet: CppProperties.json und tasks.vs.json . Diese sind für CMake-Projekte jedoch nicht relevant.

<a name="import-an-existing-cache">Importieren eines vorhandenen Caches

Wenn Sie eine vorhandene CMakeCache.txt -Datei importieren, extrahiert Visual Studio benutzerdefinierte Variablen automatisch und erstellt die vorab aufgefüllte Datei CMakeSettings.json , die auf diesen basiert. Der ursprüngliche Cache wird in keiner Weise geändert. Er kann weiterhin über die Befehlszeile oder mit einem beliebigen Tool oder der IDE verwendet werden, die zum Generieren verwendet werden. Die neue Datei CMakeSettings.json wird bei der CMakeLists.txt -Stammdatei des Projekts platziert. Visual Studio generiert einen neuen Cache, der auf der Einstellungsdatei basiert. Sie können die automatische Cachegenerierung im Dialogfeld Extras > Optionen > CMake > Allgemein außer Kraft setzen.

Nicht der gesamte Inhalt des Caches wird importiert. Eigenschaften wie der Generator und der Speicherort des Compilers werden durch die Standardwerte ersetzt, die in der IDE bekanntermaßen funktionieren.

Importieren eines vorhandenen Caches

  1. Klicken Sie im Hauptmenü auf Datei > Öffnen > CMake:

    ![CMake öffnen.](media/cmake-file-open.png "Datei, Öffnen, CMake")

    Mit diesem Befehl wird der Assistent CMake-Projekt aus Cache importieren gestartet.

  2. Navigieren Sie zur Datei CMakeCache.txt , die Sie importieren möchten, und klicken Sie dann auf OK. Der Assistent CMake-Projekt aus Cache importieren wird angezeigt:

    Importieren eines CMake-Caches.

    Wenn der Assistent abgeschlossen ist, wird die neue Datei CMakeCache.txt im Projektmappen-Explorer neben der CMakeLists.txt -Stammdatei in Ihrem Projekt geöffnet.

Erstellen von CMake-Projekten

Folgende Optionen stehen Ihnen zum Erstellen eines CMake-Projekts zur Verfügung:

  1. Suchen Sie auf der Symbolleiste „Allgemein“ nach dem Dropdownmenü Konfigurationen. Es wird wahrscheinlich standardmäßig „Linux-Debug“ oder „x64-Debug“ angezeigt. Klicken Sie auf die bevorzugte Konfiguration, und drücken Sie F5 oder klicken Sie auf der Symbolleiste auf die Schaltfläche Ausführen (grünes Dreieck). Das Projekt wird genau wie eine Visual Studio-Projektmappe zunächst erstellt.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf CMakeLists.txt , und klicken Sie dann im Kontextmenü auf Erstellen. Wenn mehrere Ziele in Ihrer Ordnerstruktur vorhanden sind, können Sie auswählen, den Build für alle oder nur für ein bestimmtes Ziel durchzuführen.

  3. Alternativ können Sie im Hauptmenü auf Erstellen > Projektmappe erstellen klicken (F7 oder STRG+UMSCHALT+B). Stellen Sie sicher, dass ein CMake-Ziel bereits in der Dropdownliste Startelement auf der Symbolleiste Allgemein ausgewählt ist.

CMake-Menübefehl „Erstellen“.

Sie können Buildkonfigurationen, Umgebungsvariablen, Befehlszeilenargumente und andere Einstellungen in der Datei CMakeSettings.json anpassen. Sie können Änderungen vornehmen, ohne die Datei CMakeLists.txt zu ändern. Weitere Informationen finden Sie unter Customize CMake settings (Anpassen von CMake-Einstellungen).

Erwartungsgemäß werden die Buildergebnisse im Ausgabefenster und in der Fehlerliste angezeigt.

CMake-Buildfehler.

In einem Ordner mit mehreren Buildzielen können Sie angeben, welches CMake-Ziel erstellt werden soll: Wählen Sie das Element Erstellen im Menü CMake oder das Kontextmenü von CMakeLists.txt aus, um das Ziel anzugeben. Wenn Sie in einem CMake-Projekt STRG+UMSCHALT+B drücken, wird das derzeit aktive Dokument erstellt.

Debuggen von CMake-Projekten

Wenn Sie ein CMake-Projekt debuggen möchten, wählen Sie die gewünschte Konfiguration aus, und drücken Sie F5. Alternativ können Sie auf die Schaltfläche Ausführen auf der Symbolleiste klicken. Wenn die Schaltfläche Ausführen „Startelement auswählen“ anzeigt, klicken Sie auf den Dropdownpfeil, und wählen Sie das Ziel aus, das ausgeführt werden soll. (In einem CMake-Projekt ist die Option „Aktuelles Dokument“ nur für CPP-Dateien gültig.)

CMake-Schaltfläche „Ausführen“.

Durch Ausführen oder F5 wird das Projekt zunächst erstellt, wenn seit dem vorherigen Build Änderungen vorgenommen wurden.

Sie können eine CMake-Debugsitzung durch Festlegen von Eigenschaften in der Datei launch.vs.json anpassen. Weitere Informationen finden Sie unter Configure CMake debugging sessions (Konfigurieren von CMake-Debugsitzungen).

Bearbeiten von CMakeLists.txt -Dateien

Wenn Sie eine CMakeLists.txt -Datei bearbeiten möchten, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Datei, und klicken Sie auf Öffnen. Wenn Sie Änderungen an der Datei vornehmen, wird eine gelbe Statusleiste angezeigt, die Sie darüber informiert, dass IntelliSense ein Update durchführen möchte. Sie haben die Möglichkeit, den Updatevorgang abzubrechen. Weitere Informationen zu CMakeLists.txt finden Sie in der CMake-Dokumentation.

Bearbeiten von CMakeLists.txt-Dateien.

Sobald Sie die Datei speichern, wird der Konfigurationsschritt automatisch erneut ausgeführt. Dieser zeigt Informationen im Ausgabefenster an. Fehler und Warnungen werden in der Fehlerliste oder im Ausgabefenster angezeigt. Doppelklicken Sie auf einen Fehler in der Fehlerliste, um zur problematischen Zeile in CMakeLists.txt zu navigieren.

CMakeLists.txt-Dateifehler.

CMake-Konfigurationsschritt

Wenn wichtige Änderungen an der Datei CMakeSettings.json oder CMakeLists.txt vorgenommen werden, führt Visual Studio den CMake-Konfigurationsschritt automatisch erneut aus. Wenn der Konfigurationsschritt ohne Fehler abgeschlossen wird, sind die gesammelten Informationen in IntelliSense für C++ und den Sprachdiensten verfügbar. Er wird auch in Erstellungs- und Debugvorgängen verwendet.

Mehrere CMake-Projekte verwenden möglicherweise denselben CMake-Konfigurationsnamen (z. B. „x86-Debug“). Wenn diese Konfiguration ausgewählt ist, werden diese (in ihrem eigenen Buildstammordner) konfiguriert und erstellt. Sie können die Ziele aller CMake-Projekte debuggen, die in dieser CMake-Konfiguration enthalten sind.

CMake-Menüelement „Nur erstellen“.

Sie können Build- und Debugsitzungen auf eine Teilmenge der Projekte im Arbeitsbereich beschränken. Erstellen Sie in der Datei CMakeSettings.json eine neue Konfiguration mit einem eindeutigen Namen. Wenden Sie die Konfiguration dann nur auf diese Projekte an. Wenn diese Konfiguration ausgewählt ist, werden IntelliSense und die Build- und Debugbefehle nur für die angegebenen Projekte angewendet.

Behandlung von CMake-Cachefehlern

Wenn Sie weitere Informationen zum Status des CMake-Caches benötigen, um ein Problem zu diagnostizieren, öffnen Sie das Hauptmenü CMake oder das Kontextmenü von CMakeLists.txt im Projektmappen-Explorer, um einen der folgenden Befehle auszuführen:

  • Cache anzeigen öffnet die Datei CMakeCache.txt aus dem Stammordner des Builds im Editor. (Alle Änderungen, die Sie hier an CMakeCache.txt vornehmen, werden verworfen, wenn Sie den Cache bereinigen.) Informationen zum Vornehmen von Änderungen, die nach dem Bereinigen des Caches beibehalten werden, finden Sie unter Anpassen von CMake-Einstellungen.)

  • Cacheordner öffnen öffnet ein Explorer-Fenster zum Stammordner des Builds.

  • Cache bereinigen löscht den Stammordner des Builds, sodass der nächste CMake-Konfigurationsschritt mit einem leeren Cache beginnt.

  • Cache generieren erzwingt die Ausführung des Schritts „Generieren“, auch wenn Visual Studio die Umgebung für aktuell hält.

Die automatische Cachegenerierung kann im Dialogfeld Extras > Optionen > CMake > Allgemein deaktiviert werden.

Kompilierung einzelner Dateien

Klicken Sie zum Erstellen einer einzelnen Datei in einem CMake-Projekt im Projektmappen-Explorer mit der rechten Maustaste auf die Datei. Klicken Sie im Popupmenü auf Kompilieren. Sie können die derzeit im Editor geöffnete Datei auch über das CMake-Hauptmenü erstellen:

Kompilierung einzelner Dateien in CMake.

Ausführen von CMake über die Befehlszeile

Wenn Sie CMake über den Visual Studio-Installer installiert haben, können Sie CMake über die Befehlszeile ausführen, indem Sie die folgenden Schritte ausführen:

  1. Führen Sie die entsprechende Datei vsdevcmd.bat (x86/x64) aus. Weitere Informationen finden Sie unter Erstellen über die Befehlszeile.

  2. Wechseln Sie zu Ihrem Ausgabeordner.

  3. Führen Sie CMake zum Erstellen oder Konfigurieren Ihrer App aus.

In Visual Studio 2015 können Visual Studio-Benutzer einen CMake-Generator verwenden, um MSBuild-Projektdateien zu generieren, die anschließend von der IDE für IntelliSense sowie für das Durchsuchen und die Kompilierung verwendet werden.

Siehe auch

Tutorial: Erstellen plattformübergreifender C++-Projekte in Visual Studio
Konfigurieren eines Linux CMake-Projekts
Herstellen einer Verbindung mit Ihrem Linux-Remotecomputer
Anpassen von CMake-Buildeinstellungen
CMakeSettings.json-Schemareferenz
Konfigurieren von CMake-Debugsitzungen
Bereitstellen, Ausführen und Debuggen Ihres Linux-Projekts
CMake predefined configuration reference (Referenz für vordefinierte CMake-Konfigurationen)