Sdílet prostřednictvím


Návod: Sestavení a ladění jazyka C++ pomocí WSL 2 a sady Visual Studio 2022

Visual Studio 2022 zavádí nativní sadu nástrojů C++ pro vývoj Subsystém Windows pro Linux verze 2 (WSL 2). Tato sada nástrojů je nyní dostupná v sadě Visual Studio 2022 verze 17.0 nebo vyšší.

WSL 2 je nová doporučená verze Subsystém Windows pro Linux (WSL). Poskytuje lepší výkon systému souborů Linux, podporu grafického uživatelského rozhraní a plnou kompatibilitu volání systému. Sada nástrojů WSL 2 sady Visual Studio umožňuje pomocí sady Visual Studio sestavovat a ladit kód C++ na distribucích WSL 2 bez přidání připojení SSH. Pomocí nativní sady nástrojů WSL 1 představené v sadě Visual Studio 2019 verze 1 už můžete vytvářet a ladit kód jazyka C++ na distribucích WSL 1.

Sada nástrojů WSL 2 sady Visual Studio podporuje projekty CMake i MSBuild pro Linux. CMake je naším doporučením pro všechny vývoj napříč platformami C++ v sadě Visual Studio. CMake doporučujeme, protože sestavuje a ladí stejný projekt ve Windows, WSL a vzdálených systémech.

Video s prezentací informací v tomto tématu najdete v tématu Video: Ladění C++ pomocí distribucí WSL 2 a sady Visual Studio 2022.

Pozadí sady nástrojů WSL 2

Podpora jazyka C++ pro různé platformy v sadě Visual Studio předpokládá, že všechny zdrojové soubory pocházejí ze systému souborů Systému Windows. Když cílíte na distribuci WSL 2, Visual Studio spustí místní rsync příkaz ke kopírování souborů ze systému souborů Windows do systému souborů WSL. Místní rsync kopie nevyžaduje zásah uživatele. K tomu dochází automaticky, když Sada Visual Studio zjistí, že používáte distribuci WSL 2. Další informace o rozdílech mezi WSL 1 a WSL 2 najdete v tématu Porovnání WSL 1 a WSL 2.

Integrace předvoleb CMake v sadě Visual Studio podporuje sadu nástrojů WSL 2. Další informace najdete v tématu Integrace předvoleb CMake v sadě Visual Studio a Visual Studio Code a konfigurace a sestavování pomocí předvoleb CMake v sadě Visual Studio. V tomto článku najdete také pokročilejší informace v části Pokročilé aspekty projektů WSL 2 a CMake.

Instalace nástrojů sestavení

Nainstalujte nástroje potřebné k sestavení a ladění ve WSL 2. Nejnovější verzi CMake nainstalujete pomocí binárního nasazení CMake sady Visual Studio v pozdějším kroku.

  1. Nainstalujte WSL a distribuci WSL 2 podle pokynů v části Instalace WSL.

  2. Za předpokladu, že vaše distribuce používá apt (tento názorný postup používá Ubuntu), pomocí následujících příkazů nainstalujte požadované nástroje sestavení do distribuce WSL 2:

    sudo apt update
    sudo apt install g++ gdb make ninja-build rsync zip
    

    Výše apt uvedené příkazy nainstalují:

    • Kompilátor C++
    • gdb
    • CMake
    • rsync
    • zip
    • Základní generátor systému sestavení

Vývoj CMake pro různé platformy s distribucí WSL 2

Tento názorný postup používá GCC a Ninja na Ubuntu. A Visual Studio 2022 verze 17.0 Preview 2 nebo novější.

Visual Studio definuje projekt CMake jako složku se CMakeLists.txt souborem v kořenovém adresáři projektu. V tomto názorném postupu vytvoříte nový projekt CMake pomocí šablony projektu CMake sady Visual Studio:

  1. Na obrazovce Začínáme se sadou Visual Studio vyberte Vytvořit nový projekt.

    Snímek obrazovky s dialogovým oknem Začínáme se sadou Visual Studio 2022 Dostupné možnosti: Klonování úložiště, otevření projektu nebo řešení, otevření místní složky, vytvoření nového projektu nebo pokračování bez kódu:::

  2. Do textového pole Hledat šablony zadejte "cmake". Zvolte typ projektu CMake a vyberte Další. Zadejte název a umístění projektu a pak vyberte Vytvořit.

  3. Povolte integraci předvoleb CMake sady Visual Studio. Vyberte > Vyberte Preferovat použití předvoleb CMake pro konfiguraci, sestavení a testování a pak vyberte OK. Místo toho jste mohli přidat CMakePresets.json soubor do kořenového adresáře projektu. Další informace najdete v tématu Povolení integrace předvoleb CMake.

    Snímek obrazovky s možnostmi projektu sady Visual Studio Je vybrána možnost Cmake > General.

    Ve skupině konfiguračních souborů CMake je "Použít předvolby CMake, pokud jsou k dispozici, v opačném případě je vyvolána CMakeSettings.json" a je vybrána.

  4. Integraci aktivujete tak, že v hlavní nabídce vyberete Soubor>zavřít složku. Zobrazí se stránka Začínáme . V části Otevřít poslední vyberte složku, kterou jste právě zavřeli, a znovu otevřete složku.

  5. Na hlavním řádku nabídek sady Visual Studio jsou tři rozevírací seznamy. Pomocí rozevíracího seznamu vlevo vyberte aktivní cílový systém. Toto je systém, ve kterém je vyvolána CMake pro konfiguraci a sestavení projektu. Dotazy sady Visual Studio na instalace WSL pomocí wsl -l -vnástroje . Na následujícím obrázku je WSL2: Ubuntu-20.04 zobrazen jako cílový systém.

    Snímek obrazovky s rozevíracím seznamem cílových systémů sady Visual Studio WSL2: Ubuntu-20.04 je vybraná.

    Poznámka:

    Pokud visual Studio začne konfigurovat projekt automaticky, přečtěte si krok 11 pro správu binárního nasazení CMake a pokračujte k následujícímu kroku. Chcete-li toto chování přizpůsobit, přečtěte si téma Úprava automatické konfigurace a oznámení mezipaměti.

  6. Pomocí rozevíracího seznamu uprostřed vyberte aktivní předvolbu konfigurace. Konfigurace předvoleb říká sadě Visual Studio, jak vyvolat CMake a vygenerovat základní systém sestavení. V kroku 7 je aktivní předvolba konfigurace výchozí pro Linux vytvořená sadou Visual Studio. Pokud chcete vytvořit vlastní předvolbu konfigurace, vyberte Spravovat konfigurace... Další informace o konfiguraci předvoleb najdete v tématu Výběr přednastavení a úprav přednastavení.

    Snímek obrazovky s rozevíracím seznamem konfigurace přednastavené konfigurace sady Visual Studio Spravovat konfigurace... je vybrána.

  7. Pomocí rozevíracího seznamu vpravo vyberte aktivní předvolbu sestavení. Předvolby sestavení říkají sadě Visual Studio, jak vyvolat sestavení. Na obrázku kroku 7 je aktivní předvolba sestavení výchozí předvolbou sestavení vytvořená sadou Visual Studio. Další informace o předvolbách sestavení najdete v tématu Výběr přednastavení sestavení.

  8. Nakonfigurujte projekt ve WSL 2. Pokud se generování projektu nespustí automaticky, pak ručně vyvolat konfiguraci s názvem projektu>Konfiguraceprojektu

    Snímek obrazovky s rozevíracím seznamem konfigurace projektu sady Visual Studio Je vybrána možnost Konfigurovat CMakeProject.

  9. Pokud ve své distribuci WSL 2 nemáte nainstalovanou podporovanou verzi CMake, visual Studio vás vyzve k nasazení poslední verze CMake pod pásem karet hlavní nabídky. Pokud chcete nasadit binární soubory CMake do distribuce WSL 2, vyberte Ano .

    Snímek obrazovky s výzvou pod panelem nástrojů sady Visual Studio

    Uživateli se zobrazí výzva k instalaci nejnovějších binárních souborů C Make z jazyka C make . organizace, protože podporovaná verze C Make není nainstalovaná."

  10. Ověřte, že se dokončil krok konfigurace a že se v okně Výstup v podokně CMake zobrazí zpráva o dokončení generování CMake. Soubory sestavení se zapisují do adresáře v systému souborů WSL 2.

    Snímek obrazovky s oknem Výstup sady Visual Studio Obsahuje zprávy vygenerované během kroku konfigurace, včetně dokončení generování C Make.

  11. Vyberte aktivní cíl ladění. Rozevírací nabídka ladění obsahuje seznam všech cílů CMake dostupných pro projekt.

    Snímek obrazovky s rozevírací nabídkou ladění sady Visual Studio Je vybrán cMakeProject.

  12. Rozbalte podsložku projektu v Průzkumník řešení. CMakeProject.cpp V souboru nastavte zarážku v main(). Můžete také přejít do zobrazení cílů CMake tak, že v Průzkumník řešení vyberete tlačítko Pro výběr zobrazení, zvýrazněné na následujícím snímku obrazovky:

    Snímek obrazovky s průzkumníkem řešení sady Visual Studio zobrazujícím tlačítko pro přepínání zobrazení Nachází se napravo od tlačítka Domů.

  13. Vyberte >nebo stiskněte klávesu F5. Projekt se sestaví, spustí se spustitelný soubor na distribuci WSL 2 a Visual Studio zastaví provádění na zarážce. Výstup programu (v tomto případě "Hello CMake.") se zobrazí v okně konzoly Linuxu:

    Snímek obrazovky se spuštěným programem Hello World

    V okně konzoly sady Visual Studio Linux se zobrazí výstup programu: "Hello C Make". V okně editoru se zobrazí program Hello World. Spuštění se zastavilo na zarážce na řádku s textem return 0;.

Teď jste vytvořili a ladili aplikaci C++ pomocí WSL 2 a Sady Visual Studio 2022.

Důležité informace o pokročilých projektech WSL 2 a CMake

Visual Studio poskytuje nativní podporu pouze pro PROJEKTY CMake, které se používají CMakePresets.json jako aktivní konfigurační soubor WSL 2. Pokud chcete provést migraci z CMakeSettings.json programu na CMakePresets.json, přečtěte si téma Povolení integrace předvoleb CMake v sadě Visual Studio.

Pokud cílíte na distribuci WSL 2 a nechcete používat sadu nástrojů WSL 2, pak v mapě dodavatele vzdáleného nastavení sady Visual Studio v CMakePresets.jsonsadě Visual Studio nastavte forceWSL1Toolset na true . Další informace naleznete v tématu Visual Studio Remote Settings vendor map.

Pokud je forceWSL1Tooslet nastaven na hodnotu true, visual Studio neudržuje kopii zdrojových souborů v systému souborů WSL. Místo toho přistupuje ke zdrojovým souborům na připojené jednotce Systému Windows (/mnt/...).

Ve většině případů je nejlepší použít sadu nástrojů WSL 2 s distribucemi WSL 2, protože WSL 2 je pomalejší, když jsou soubory projektu uložené v systému souborů systému Windows. Další informace o výkonu systému souborů ve WSL 2 najdete v tématu Porovnání WSL 1 a WSL 2.

Zadejte upřesňující nastavení, jako je cesta k adresáři ve WSL 2, kde je projekt zkopírován, kopírovat možnosti zdroje a argumenty příkazu rsync, v mapě dodavatele vzdáleného nastavení sady Visual Studio v CMakePresets.json. Další informace naleznete v tématu Visual Studio Remote Settings vendor map.

Systémová záhlaví se stále automaticky kopírují do systému souborů Windows, aby bylo možné poskytovat nativní prostředí IntelliSense. Záhlaví zahrnutá nebo vyloučená z této kopie můžete přizpůsobit v mapě dodavatele vzdáleného nastavení sady Visual Studio v CMakePresets.jsonsouboru .

Režim IntelliSense můžete změnit nebo zadat jiné možnosti IntelliSense v mapě dodavatele nastavení sady Visual Studio v CMakePresets.json. Podrobnosti o mapě dodavatele najdete v tématu Mapa dodavatele vzdáleného nastavení sady Visual Studio.

Projekty LINUX založené na WSL 2 a MSBuild

CMake se doporučuje pro všechny multiplatformní vývoj v jazyce C++ pomocí sady Visual Studio, protože umožňuje sestavovat a ladit stejný projekt ve Windows, WSL a vzdálených systémech.

Můžete ale mít projekt Linuxu založený na MSBuildu.

Pokud máte projekt Linuxu založený na MSBuildu, můžete upgradovat na sadu nástrojů WSL 2 v sadě Visual Studio. V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt a pak zvolte Vlastnosti>> platformy:

Snímek obrazovky s rozevíracím seznamem sady Visual Studio s vybranou sadou nástrojů platformy a vpravo další rozevírací seznam s vybranou sadou nástrojů WSL2

Pokud cílíte na distribuci WSL 2 a nechcete používat sadu nástrojů WSL 2, pak v rozevíracím seznamu Sady nástrojů platformy vyberte GCC pro Subsystém Windows pro Linux nebo Clang pro sadu nástrojů Subsystém Windows pro Linux. Pokud vyberete některou z těchto sad nástrojů, Visual Studio neudržuje kopii zdrojových souborů v systému souborů WSL a místo toho přistupuje ke zdrojovým souborům přes připojenou jednotku Windows (/mnt/...). Systémová záhlaví se stále automaticky kopírují do systému souborů Systému Windows, aby poskytovala nativní prostředí IntelliSense. Upravte záhlaví zahrnutá nebo vyloučená z této kopie v obecných stránkách>vlastností.

Ve většině případů je nejlepší použít sadu nástrojů WSL 2 s distribucemi WSL 2, protože WSL 2 je pomalejší, když jsou soubory projektu uložené v systému souborů systému Windows. Další informace najdete v tématu Porovnání WSL 1 a WSL 2.

Viz také

Video: Ladění C++ s distribucemi WSL 2 a sadou Visual Studio 2022
Stažení sady Visual Studio 2022
Vytvoření projektu CMake Linux v sadě Visual Studio
Kurz: Ladění projektu CMake na vzdáleném počítači s Windows