Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 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 Visual Studio umožňuje používat Visual Studio k sestavení a ladění kódu C++ v distribucích WSL 2 bez přidání připojení SSH. Pomocí nativní sady nástrojů WSL 1 už můžete sestavit a ladit kód C++ na distribucích WSL 1 zavedených v Visual Studio 2019 verze 16.1.
WSL 2 sada nástrojů Visual Studio podporuje Linuxové projekty založené na CMake i MSBuild. CMake je naším doporučením pro všechny vývoj napříč platformami C++ s Visual Studio. CMake doporučujeme, protože sestavuje a ladí stejný projekt na Windows, WSL a vzdálených systémech.
Videoprezentace informací v tomto tématu najdete v tématu Video: Ladění C++ s distribucemi WSL 2 a Visual Studio 2022.
Pozadí sady nástrojů WSL 2
Podpora jazyka C++ pro různé platformy v Visual Studio předpokládá, že všechny zdrojové soubory pocházejí ze systému souborů Windows. Při cílení na distribuci WSL 2 spustí Visual Studio místní příkaz rsync 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ž 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 Visual Studio podporuje sadu nástrojů WSL 2. Další informace najdete v tématu integrace předvoleb CMake v Visual Studio a Visual Studio Code a Konfigurování a sestavování pomocí předvoleb CMake v 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. Novou verzi CMake nainstalujete pomocí nasazení binárních souborů CMake od Visual Studio v pozdějším kroku.
Nainstalujte WSL a distribuci WSL 2 podle pokynů v části Instalace WSL.
V instalačním programu Visual Studio ověřte, že jsou nainstalované nástroje CMake C++ pro Linux. Chcete-li to provést, vyberte Upravit pro svou verzi Visual Studio. Na kartě Jednotlivé komponenty vyhledejte nástroje CMake C++ pro Linux a Mac a ujistěte se, že je vybraný a nainstalovaný. Tato komponenta je nutná pro Visual Studio k detekci instalací WSL.
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 cmake g++ gdb make ninja-build rsync zipKteré instalace:
- Kompilátor C++
gdbCMakersynczip- Podkladový generátor systému sestavování
Vývoj CMake pro různé operační systémy 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 souborem CMakeLists.txt v kořenovém adresáři projektu. V tomto názorném postupu vytvoříte nový project CMake pomocí šablony Visual Studio CMake Project:
Na obrazovce Visual Studio Zahajte vyberte Vytvořit nový projekt.
Dostupné možnosti jsou: Klonovat úložiště, otevřít projekt nebo řešení, otevřít místní složku, vytvořit nový projekt, nebo pokračovat bez kódu.Do textového pole Hledat šablony zadejte "cmake". Zvolte typ CMake Project a vyberte Dalši. Zadejte název a umístění projektu a pak vyberte Vytvořit.
Povolte integraci předvoleb CMake Visual Studio. Vyberte Nástroje>Možnosti>CMake>Obecné. Vyberte Preferovat použití předvoleb CMake pro konfiguraci, sestavení a testování a pak vyberte OK. Případně můžete přidat
CMakePresets.jsonsoubor do kořenového adresáře projektu. Další informace najdete v tématu Povolení integrace předvoleb CMake.
Ve skupině konfiguračních souborů CMake je vybrána možnost "Použít předvolby CMake, pokud jsou k dispozici, jinak použít CMakeSettings.json".
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.
Na hlavním panelu nabídky Visual Studio jsou tři rozbalovací 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. Visual Studio dotazy na instalace WSL pomocí
wsl -l -v. Na následujícím obrázku je WSL2: Ubuntu-20.04 zobrazen jako cílový systém.
Poznámka:
Pokud Visual Studio začne automaticky konfigurovat projekt, přečtěte si krok 11 pro správu binárního nasazení CMake a pokračujte následujícím krokem. Chcete-li toto chování přizpůsobit, viz Úprava automatické konfigurace a oznámení mezipaměti.
Pomocí rozevíracího seznamu uprostřed vyberte aktivní předvolbu konfigurace. Konfigurace předvoleb říká Visual Studio, jak používat CMake a vytvořit základní systém sestavení. V kroku 7 je aktivní konfigurační předvolba linux-default, vytvořené v Visual Studiu. 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í.
Pomocí rozevíracího seznamu vpravo vyberte aktivní předvolbu sestavení. Předvolby sestavení určují programu Visual Studio, jak vyvolat sestavení. Na obrázku pro krok 7 je aktivní předvolba sestavení Default vytvořená pomocí Visual Studio. Pro více informací o Build Presets viz Výběr přednastavení sestavení.
Nakonfigurujte projekt ve WSL 2. Pokud se generování projektu nespustí automaticky, ručně vyvolejte konfiguraci s Project>Konfigurujteproject-name
Pokud ve své distribuci WSL2 nemáte nainstalovanou podporovanou verzi CMake, Visual Studio vás pod hlavní nabídkovou lištou vyzve k nasazení aktuální verze CMake. Pokud chcete nasadit binární soubory CMake do distribuce WSL 2, vyberte Ano .
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á."
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.
Vyberte aktivní cíl ladění. Rozevírací nabídka ladění obsahuje seznam všech CMake cílů, které jsou dostupné pro projekt.
Rozbalte podsložku projektu v Průzkumník řešení. Nastavte zarážku v
CMakeProject.cppv souborumain(). Můžete také přejít do zobrazení cílů CMake tak, že vyberete tlačítko Pro výběr zobrazení v Průzkumník řešení, zvýrazněné na následujícím snímku obrazovky:
Vyberte Debug>Start, nebo stiskněte klávesu F5. Projekt se sestaví, spustitelný soubor se spustí na distribuci WSL 2 a Visual Studio zastaví proces při bodu přerušení. Výstup programu (v tomto případě
"Hello CMake.") se zobrazí v okně konzoly Linuxu:
V okně konzoly Visual Studio Linuxu se zobrazí výstup programu: "Hello C Make". V okně editoru se zobrazí program Hello World. Spuštění se zastavilo na bodu přerušení na řádku s textem return 0;.
Teď jste vytvořili a ladili aplikaci C++ pomocí WSL 2 a 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é používají CMakePresets.json jako aktivní konfigurační soubor. Pokud chcete migrovat z CMakeSettings.json na CMakePresets.json, podívejte se na Enable CMake Presets integration in 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í Visual Studio v CMakePresets.json nastavte forceWSL1Toolset na true . Další informace najdete v tématu Visual Studio Remote Settings Vendor Map.
Pokud je forceWSL1Tooslet nastavena na 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 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ů Windows. Další informace o výkonu systému souborů ve WSL 2 najdete v tématu Porovnání WSL 1 a WSL 2.
Zadejte pokročilá nastavení, jako je cesta k adresáři ve WSL 2, kam se projekt kopíruje, možnosti kopírování zdroje a argumenty příkazu rsync, v mapě poskytovatele vzdálených nastavení Visual Studio v CMakePresets.json. cs-CZ: Další informace najdete v tématu mapa dodavatele pro vzdálená nastavení ve Visual Studio.
Systémová záhlaví se stále automaticky zkopírují do systému souborů Windows, aby bylo možné poskytnout nativní prostředí IntelliSense. Záhlaví zahrnuté nebo vyloučené z této kopie můžete přizpůsobit ve vizualizaci mapy dodavatele pro vzdálená nastavení Visual Studio v CMakePresets.json.
Režim IntelliSense můžete změnit nebo zadat jiné možnosti IntelliSense v mapě dodavatele Nastavení Visual Studio v CMakePresets.json. Podrobnosti o mapě dodavatele naleznete v tématu mapa dodavatele vzdáleného nastavení ve Visual Studio.
Projekty LINUX založené na WSL 2 a MSBuild
CMake se doporučuje pro veškerý vývoj napříč platformami C++ s Visual Studio, protože umožňuje sestavovat a ladit stejný projekt na Windows, WSL a vzdálených systémech.
Můžete ale mít projekt Linuxu založený na MSBuildu.
Pokud máte linuxový projekt založený na MSBuildu, můžete upgradovat na sadu nástrojů WSL 2 v Visual Studio. V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt a pak zvolte Vlastnosti>Obecné>Výběr nástrojové platformy:
Pokud cílíte na distribuci WSL 2 a nechcete používat sadu nástrojů WSL 2, vyberte v rozevíracím seznamu Platform Toolset sadu nástrojů GCC pro Subsystém Windows pro Linux nebo Clang pro 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ů Windows a poskytují tak nativní prostředí IntelliSense. Upravte záhlaví, která jsou zahrnuta nebo vyloučena z této kopie, v Stránkách vlastností>Obecné.
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ů 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 Visual Studio 2022
Download Visual Studio 2022
Vytvoření projektu CMake Linux v Visual Studio
Tutorial: Ladění projektu CMake na vzdáleném počítači Windows