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 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, která byla představena v sadě Visual Studio 2019 verze 16.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 veškerý vývoj C++ napříč platformami 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. V pozdějším kroku nainstalujete nedávnou verzi CMake pomocí nasazení binárního souboru CMake poskytovaného sadou Visual Studio.
Nainstalujte WSL a distribuci WSL 2 podle pokynů v části Instalace 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 zipVýše
aptuvedené příkazy nainstalují:- 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 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:
Na obrazovce Začínáme se sadou Visual Studio vyberte Vytvořit nový projekt.
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:::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.
Povolte integraci sad předvoleb CMake v rámci 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. Místo toho jste mohli 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 řá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. Sada Visual Studio vyhledává instalace WSL s nástroji
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 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, viz Úprava automatické konfigurace a oznámení mezipaměti.
Pomocí rozevíracího seznamu uprostřed vyberte aktivní předvolbu konfigurace. Konfigurační předvolby určují, jak má Visual Studio vyvolat CMake a vygenerovat základní systém sestavení. V kroku 7 je aktivní předvolbou konfigurace předvolba linux-default 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í.
Pomocí rozevíracího seznamu vpravo vyberte aktivní předvolbu sestavení. Předvolby sestavení určují ve Visual Studio, jak spustit sestavení. Na obrázku kroku 7 je aktivní předvolba sestavení Výchozí, vytvořená sadou 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, pak ručně spusťte konfiguraci s Project>Configureproject-name
Pokud ve své distribuci WSL 2 nemáte nainstalovanou podporovanou verzi CMake, Visual Studio vás vyzve k nasazení poslední verze CMake těsně pod pás karet hlavní nabídky. 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
main()v souboruCMakeProject.cpp. 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:
Vyberte Debug>Start, nebo stiskněte klávesu F5. Projekt se sestaví, spustitelný soubor se spustí 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:
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 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 pro WSL 2 pouze pro projekty CMake, které používají CMakePresets.json jako aktivní konfigurační soubor. Pokud chcete provést migraci z CMakeSettings.json na CMakePresets.json, viz 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 mapování vzdáleného nastavení 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, možnosti kopírování zdrojů a argumenty příkazu rsync v mapě dodavatelů pro vzdálená nastavení ve Visual Studio v CMakePresets.json. Další informace naleznete v tématu mapa dodavatelů Visual Studio Remote Settings.
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í, která mají být zahrnuta nebo vyloučena z této kopie, můžete přizpůsobit v mapování dodavatelských nastavení pro Visual Studio Remote Settings v souboru CMakePresets.json.
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>Obecné>Výběr nástrojové platformy:
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ů Windows, aby poskytovala nativní zážitek 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ů systému Windows. Další informace najdete v tématu Porovnání WSL 1 a WSL 2.
Viz také
Video: Ladění C++ ve spojení s distribucemi WSL 2 a 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