Herunterladen, Installieren und Einrichten der Linux-Workload
Linux-Projekte werden von Visual Studio 2017 und höher unterstützt. Wenn die Dokumentation für diese Versionen angezeigt werden soll, legen Sie das Steuerelement für die Auswahl der Version von Visual Studio für diesen Artikel auf Visual Studio 2017 oder Visual Studio 2019 fest. Es befindet sich am Anfang des Inhaltsverzeichnisses auf dieser Seite.
Sie können die IDE von Visual Studio unter Windows verwenden, um C++-Projekte zu erstellen, zu bearbeiten und zu debuggen, die auf einem Linux-Remotesystem, einem virtuellen Computer oder im Windows-Subsystem für Linux ausgeführt werden.
Sie können an Ihrer bestehenden Codebasis arbeiten, die CMake nutzt, ohne sie in ein Visual Studio-Projekt konvertieren zu müssen. Wenn Ihre Codebasis plattformübergreifend ist, können Sie sowohl Windows als auch Linux in Visual Studio als Ziel verwenden. Sie können Ihren Code unter Windows beispielsweise mithilfe von Visual Studio bearbeiten, erstellen und debuggen. Verwenden Sie dann als neues Ziel für das Projekt einfach Linux, um es in einer Linux-Umgebung zu erstellen und zu debuggen. Headerdateien unter Linux werden automatisch auf Ihren lokalen Computer kopiert. Visual Studio verwendet sie, um vollständige IntelliSense-Unterstützung bieten zu können, d. h. z. B. Anweisungsvervollständigung und „Gehe zu Definition“.
Für jedes dieser Szenarios ist die Workload Linux-Entwicklung mit C++ erforderlich.
Setup von Visual Studio
Geben Sie „Visual Studio Installer“ in das Windows-Suchfeld ein:
Suchen Sie in den Ergebnissen unter Apps nach dem Installer, und doppelklicken Sie auf ihn. Wenn der Installer geöffnet wird, wählen Sie Ändernaus, und klicken Sie dann auf die Registerkarte Workloads. Scrollen Sie nach unten zu Andere Toolsets, und wählen Sie die Workload Linux Entwicklung mit C++ aus.
Die Workload für die Linux-Entwicklung ist ausgewählt. Der Bereich "Installationsdetails" ist hervorgehoben, in dem aufgelistet wird, was in der Workload enthalten ist. Dazu gehören: Visual Studio C++-Kernfeatures, Windows Universal C Runtime, Visual C++ für die Linux-Entwicklung. Eine optionale Komponente ist ebenfalls ausgewählt: Visual C++-Tools für CMake und Linux.
Wenn Sie für IoT- oder eingebettete Plattformen entwickeln, wechseln Sie im rechten Bereich zu Installationsdetails. Erweitern Sie unter Linux-Entwicklung mit C++ den Eintrag Optionale Komponenten, und wählen Sie die benötigten Komponenten. CMake-Unterstützung für Linux ist standardmäßig ausgewählt.
Klicken Sie auf Ändern, um mit der Installation fortzufahren.
Optionen zum Erstellen einer Linux-Umgebung
Wenn Sie noch keinen Linux-Computer besitzen, können Sie einen virtuellen Linux-Computer in Azure erstellen. Weitere Informationen finden Sie unter Schnellstart: Erstellen eines virtuellen Linux-Computers im Azure-Portal.
Unter Windows 10 oder höher können Sie Ihre bevorzugte Linux-Distribution im Windows-Subsystem für Linux (WSL) installieren und als Ziel verwenden. Weitere Informationen finden Sie unter Windows-Subsystem für Linux – Installationsleitfaden für Windows 10. Wenn Sie nicht auf den Microsoft Store zugreifen können, können Sie das WSL-Distributionspaket manuell herunterladen. WSL ist eine praktische Konsolenumgebung, die jedoch nicht für grafische Anwendungen empfohlen wird.
Linux-Projekte in Visual Studio erfordern die Installation der folgenden Abhängigkeiten in Ihrem Linux-Remotesystem oder WSL:
- Ein Compiler – Visual Studio 2019 oder höher verfügen über vollständige Unterstützung für GCC und Clang.
- gdb: Visual Studio startet gdb automatisch auf dem Linux-System und nutzt das Front-End des Visual Studio-Debuggers, um unter Linux Funktionen für zuverlässiges Debuggen zu bieten.
- rsync und zip: Die Einbindung von rsync und zip ermöglicht Visual Studio das Extrahieren von Headerdateien aus Ihrem Linux-System in das Windows-Dateisystem zur Verwendung durch IntelliSense.
- make
- openssh-server (nur Linux-Remotesysteme): Visual Studio und Linux-Remotesysteme werden über eine sichere SSH-Verbindung miteinander verbunden.
- CMake (nur CMake-Projekte): Sie können statisch verknüpfte CMake-Binärdateien für Linux von Microsoft installieren.
- ninja-build (nur CMake-Projekte): Ninja ist der Standardgenerator für Linux- und WSL-Konfigurationen in Visual Studio 2019, Version 16.6 oder höher.
Die folgenden Befehle gehen davon aus, dass Sie g++ anstelle von Clang verwenden.
Linux-Projekte in Visual Studio erfordern die Installation der folgenden Abhängigkeiten in Ihrem Linux-Remotesystem oder WSL:
- gcc: Visual Studio 2017 bietet vollständige Unterstützung für GCC.
- gdb: Visual Studio startet gdb automatisch auf dem Linux-System und nutzt das Front-End des Visual Studio-Debuggers, um unter Linux Funktionen für zuverlässiges Debuggen zu bieten.
- rsync und zip: Die Einbindung von rsync und zip ermöglicht Visual Studio das Extrahieren von Headerdateien aus Ihrem Linux-System in das Windows-Dateisystem zur Verwendung durch IntelliSense.
- make
- openssh-server: Visual Studio und Linux-Remotesysteme werden über eine sichere SSH-Verbindung miteinander verbunden.
- CMake (nur CMake-Projekte): Sie können statisch verknüpfte CMake-Binärdateien für Linux von Microsoft installieren.
Linux-Setup: Ubuntu im WSL
Wenn Sie für WSL entwickeln, ist es nicht erforderlich, eine Remoteverbindung hinzuzufügen oder SSH zu konfigurieren, um einen Build zu erstellen und zu debuggen. zip und rsync sind zur automatischen Synchronisierung von Linux-Headern mit Visual Studio für die IntelliSense-Unterstützung erforderlich. ninja-build ist nur für CMake-Projekte erforderlich. Wenn die erforderlichen Anwendungen noch nicht vorhanden sind, können Sie sie mithilfe dieses Befehls installieren:
sudo apt-get install g++ gdb make ninja-build rsync zip
Ubuntu auf Linux-Remotesystemen
Auf dem Linux-Zielsystem muss openssh-server, g++ , gdb und make installiert sein. ninja-build ist nur für CMake-Projekte erforderlich. Der ssh-Daemon muss ausgeführt werden. zip und rsync sind zur Unterstützung von IntelliSense für die automatische Synchronisierung von Remoteheadern mit Ihrem lokalen Computer erforderlich. Wenn diese Anwendungen noch nicht vorhanden sind, können Sie sie wie folgt installieren:
Führen Sie bei einer Shelleingabeaufforderung auf dem Linux-Computer Folgendes aus:
sudo apt-get install openssh-server g++ gdb make ninja-build rsync zip
Möglicherweise werden Sie dazu aufgefordert, Ihr Stammkennwort einzugeben, um den sudo-Befehl
sudo
auszuführen. Ist dies der Fall, geben Sie es ein und setzen den Vorgang fort. Nach Abschluss dieses Vorgangs sind die erforderlichen Dienste und Tools installiert.Stellen Sie sicher, dass der SSH-Dienst auf dem Linux-Computer ausgeführt wird, indem Sie Folgendes ausführen:
sudo service ssh start
Mit diesem Befehl wird der Dienst im Hintergrund gestartet und ausgeführt, sodass Verbindungen akzeptiert werden können.
Fedora auf dem WSL
Fedora verwendet den dnf-Paket-Installer. Führen Sie den folgenden Befehl aus, um g++ , gdb, make, rsync, ninja-build und zip herunterzuladen:
sudo dnf install gcc-g++ gdb rsync ninja-build make zip
zip und rsync sind zur automatischen Synchronisierung von Linux-Headern mit Visual Studio für die IntelliSense-Unterstützung erforderlich. ninja-build ist nur für CMake-Projekte erforderlich.
Fedora auf Linux-Remotesystemen
Der Zielcomputer, auf dem Fedora ausgeführt wird, verwendet den Dnf-Paket-Installer. Um openssh-server, g++ , gdb, make, ninja-build, rsync und zip herunterzuladen und den ssh-Daemon neu zu starten, befolgen Sie diese Anweisungen. ninja-build ist nur für CMake-Projekte erforderlich.
Führen Sie bei einer Shelleingabeaufforderung auf dem Linux-Computer Folgendes aus:
sudo dnf install openssh-server gcc-g++ gdb ninja-build make rsync zip
Möglicherweise werden Sie dazu aufgefordert, Ihr Stammkennwort einzugeben, um den sudo-Befehl auszuführen. Ist dies der Fall, geben Sie es ein und setzen den Vorgang fort. Nach Abschluss dieses Vorgangs sind die erforderlichen Dienste und Tools installiert.
Stellen Sie sicher, dass der SSH-Dienst auf dem Linux-Computer ausgeführt wird, indem Sie Folgendes ausführen:
sudo systemctl start sshd
Mit diesem Befehl wird der Dienst im Hintergrund gestartet und ausgeführt, sodass Verbindungen akzeptiert werden können.
Nächste Schritte
Jetzt können Sie ein Linux-Projekt erstellen oder öffnen und es so konfigurieren, dass es auf dem Zielsystem ausgeführt wird. Weitere Informationen finden Sie unter: