Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Visual Studio 2022 egy natív C++ eszközkészletet vezet be Linuxos Windows-alrendszer 2. verzió (WSL 2) fejlesztéséhez. Ez az eszközkészlet már elérhető a Visual Studio 2022 17.0 vagy újabb verziójában.
A WSL 2 a Linuxos Windows-alrendszer (WSL) új, ajánlott verziója. Jobb linuxos fájlrendszer-teljesítményt, grafikus felhasználói felületi támogatást és teljes rendszerhívási kompatibilitást biztosít. Visual Studio WSL 2-es eszközkészlete lehetővé teszi, hogy a Visual Studio használatával SSH-kapcsolat hozzáadása nélkül készítsen és hibakeressen C++ kódot a WSL 2 disztribúciókon. A WSL 1 disztribúciókon már létrehozhat és hibakeresést végezhet C++ kóddal a natív WSL 1 eszközkészlet használatával, amely a 2019-es Visual Studio 16.1-es verziójában jelent meg.
Visual Studio WSL 2-es eszközkészlete cMake- és MSBuild-alapú Linux-projekteket is támogat. A CMake-et javasoljuk az összes C++ platformfüggetlen fejlesztéshez a Visual Studio-val. A CMake-t azért javasoljuk, mert ugyanazt a projektet Windows, WSL és távoli rendszereken építi és hibakeresi.
A témakör információit bemutató videó a Video: C++ hibakeresése a WSL 2 disztribúciókkal és Visual Studio 2022.
WSL 2 eszközkészlet háttere
A C++ platformfüggetlen támogatása Visual Studio feltételezi, hogy az összes forrásfájl a Windows fájlrendszerből származik. A WSL 2 disztribúció megcélzásakor Visual Studio végrehajt egy helyi rsync parancsot, a Windows fájlrendszerből a WSL fájlrendszerbe való másolásához. A helyi rsync példány nem igényel felhasználói beavatkozást. Automatikusan megtörténik, ha Visual Studio észleli, hogy WSL 2-disztribúciót használ. A WSL 1 és a WSL 2 közötti különbségekről további információt a WSL 1 és a WSL 2 összehasonlítása című témakörben talál.
A CMake Presets integráció a Visual Studio-ban támogatja a WSL 2 eszközkészletet. További információ:
A buildelési eszközök telepítése
Telepítse a WSL 2-n való létrehozáshoz és hibakereséshez szükséges eszközöket. A CMake legújabb verzióját egy későbbi lépésben telepítheti Visual Studio CMake bináris üzembe helyezésével.
Telepítse a WSL-t és egy WSL 2-disztribúciót a WSL telepítésével kapcsolatos utasítások követésével.
A Visual Studio telepítőjében ellenőrizze, hogy telepítve van-e a C++ CMake tools for Linux. Ehhez válassza a Modify lehetőséget a Visual Studio verziójához. Az Egyes összetevők lapon keresse meg a Linuxhoz és Machez készült C++ CMake-eszközöket , és győződjön meg arról, hogy ki van jelölve és telepítve. Ez az összetevő szükséges ahhoz, hogy Visual Studio észlelje a WSL-telepítéseket.
Feltételezve, hogy a disztribúciója használja
apt(ez az útmutató az Ubuntut használja), a következő parancsokkal telepítse a szükséges fordítóeszközöket a WSL 2 disztribúcióra:sudo apt update sudo apt install cmake g++ gdb make ninja-build rsync zipAmely telepíti a következőt:
- C++ fordító
gdbCMakersynczip- Egy mögöttes buildrendszer-generátor
Platformfüggetlen CMake-fejlesztés WSL 2 disztribúcióval
Ez az útmutató GCC-t és Ninja-t használ az Ubuntu-on. És a Visual Studio 2022 17.0 előzetes kiadás 2-es vagy újabb verziója.
Visual Studio egy CMake-projektet olyan mappaként definiál, amely a projekt gyökérkönyvtárában található CMakeLists.txt fájllal rendelkezik. Ebben az útmutatóban egy új CMake-projektet hozunk létre a Visual Studio CMake Project sablon használatával.
A Visual Studio Kezdett képernyőn válassza a Új projekt létrehozása lehetőséget.
A rendelkezésre álló lehetőségek a következők: Adattár klónozása, Projekt vagy megoldás megnyitása, Helyi mappa megnyitása, Új projekt létrehozása vagy Folytatás kód nélkül:::A Sablonok keresése szövegmezőbe írja be a "cmake" kifejezést. Válassza a CMake Project típust, és válassza a Next lehetőséget. Adjon nevet és helyet a projektnek, majd válassza a Létrehozás lehetőséget.
Engedélyezze a Visual Studio CMake-előbeállítások integrációját. Válassza az Eszközök>beállításai>CMake>Általános lehetőséget. Válassza a CMake-előbeállítások használatának előnyben részesítése konfiguráláshoz, építéshez és teszteléshez, majd válassza az OK gombot. Másik lehetőségként hozzáadhat egy
CMakePresets.jsonfájlt a projekt gyökeréhez. További információ: A CMake-készletek integrációjának engedélyezése.
A CMake konfigurációs fájlcsoportjában meg van jelölve és ki van választva, hogy "Használja a CMake előbeállításokat, ha elérhetők, egyébként a CMakeSettings.jsonhasználata".
Az integráció aktiválásához válassza a főmenü Fájlbezárás>mappája lehetőséget. Megjelenik az Első lépések lap. A Legutóbbiak megnyitása csoportban válassza ki az imént bezárt mappát a mappa újbóli megnyitásához.
Három legördülő lista található a Visual Studio főmenüsávján. Az aktív célrendszer kiválasztásához használja a bal oldali legördülő menüt. Ez az a rendszer, amelyben a CMake meghívása történik a projekt konfigurálásához és létrehozásához. A Visual Studio
wsl -l -vsegítségével érdeklődik a WSL-telepítések iránt. A következő képen a WSL2: Ubuntu-20.04 ki van jelölve célrendszerként.
Megjegyzés:
Ha Visual Studio elkezdi automatikusan konfigurálni a projektet, olvassa el a 11. lépést a CMake bináris üzembe helyezésének kezeléséhez, majd folytassa a következő lépéssel. Ennek a viselkedésnek a testreszabásához lásd: Automatikus konfiguráció és gyorsítótár-értesítések módosítása.
A középső legördülő menüben válassza ki az aktív beállításkészletet. A beállításkészletek megadják a Visual Studio-nak, hogyan hívja meg a CMake-et, és hogyan hozza létre a mögöttes build rendszert. A 7. lépésben az aktív beállításkészlet a linux-default Visual Studio által létrehozott készlet. Egyéni beállításkészlet létrehozásához válassza a Konfigurációk kezelése... Az előre beállított beállítások konfigurálásáról további információt a Beállításkészletek konfigurálása és a Készletek szerkesztése című témakörben talál.
A jobb oldali legördülő menüből válassza ki az aktív Build előbeállítást. A build beállítások elmagyarázzák a Visual Studio számára, hogyan hívhatja meg a buildet. A 7. lépés ábrájában az aktív buildkészlet a Default Visual Studio által létrehozott buildkészlet. A buildbeállításokkal kapcsolatos további információkért lásd: Buildkészlet kiválasztása.
Konfigurálja a projektet a WSL 2-ben. Ha nem indul el automatikusan a projekt generálása, akkor kézzel hívja meg a konfigurálást Project>Configureproject-name
Ha nincs telepítve a CMake támogatott verziója a WSL 2 disztribúcióra, akkor Visual Studio a főmenü menüszalagja alatt kéri a CMake legújabb verziójának üzembe helyezését. Válassza az Igen lehetőséget a CMake bináris fájljainak a WSL 2-es disztribúcióban való üzembe helyezéséhez.
A felhasználót megkérdezik, hogy szeretné-e telepíteni a legújabb CMake bináris fájlokat a CMake-ből. szervezet, mert a támogatott C Make verzió nincs telepítve."
Ellenőrizze, hogy a konfigurálási lépés befejeződött-e, és hogy a CMake-létrehozás befejeződött üzenete látható-e a CMake panel Kimenet ablakában. A buildfájlok a WSL 2 disztribúció fájlrendszerének egyik könyvtárába vannak írva.
Válassza ki az aktív hibakeresési célt. A hibakeresési legördülő menü felsorolja a projekt számára elérhető összes CMake-célt.
Nyissa meg a projekt almappáját a Megoldáskezelő-ben. A(z)
CMakeProject.cppfájlban állítson be egy töréspontot a(z)main()elemben. A CMake-célok nézetre is navigálhat a Megoldáskezelő nézetválasztó gombra kattintva, amelyet a következő képernyőképen emel ki:
Válassza a Hibakeresés>indítása lehetőséget, vagy nyomja le az F5 billentyűt. A projekt felépül, a végrehajtható elindul a WSL 2 disztribúción, és a Visual Studio megáll a töréspontnál. A program kimenete (ebben az esetben
"Hello CMake.") látható a Linux konzolablakban:
A Visual Studio Linux konzolablakban megjelenik a program kimenete: "Hello C Make". A szerkesztőablakban a hello world program látható. A végrehajtás leállt egy töréspontnál a vonalon, amely a 0 értéket adja vissza."
Most már létrehozott és hibakeresést végzett egy C++ alkalmazással a WSL 2 és Visual Studio 2022 használatával.
Speciális WSL 2 és CMake projektek szempontjai
Visual Studio csak natív támogatást biztosít a WSL 2-hez olyan CMake-projektekhez, amelyek aktív konfigurációs fájlként CMakePresets.json használnak. A CMakeSettings.json-ről CMakePresets.json-be való migráláshoz lásd: Enable CMake Presets integration in Visual Studio.
Ha WSL 2-disztribúciót céloz meg, és nem szeretné használni a WSL 2-eszközkészletet, akkor a Visual Studio Remote Settings térképén, CMakePresets.json-nál, állítsa be a forceWSL1Toolset értékét true-re. További információ: Visual Studio Távoli beállítások szállítói térkép.
Ha forceWSL1Tooslet értéke true, akkor Visual Studio nem tartja fenn a forrásfájlok másolatát a WSL fájlrendszerben. Ehelyett a csatlakoztatott Windows meghajtón lévő forrásfájlokat éri el (/mnt/...).
A legtöbb esetben a WSL 2-es eszközkészletet érdemes WSL 2-disztribúciókkal használni, mert a WSL 2 lassabb, ha a projektfájlokat inkább a Windows fájlrendszerben tárolják. A WSL 2 fájlrendszerbeli teljesítményével kapcsolatos további információkért lásd: A WSL 1 és a WSL 2 összehasonlítása.
Adja meg a speciális beállításokat, mint például a WSL 2 könyvtár elérési útját, ahová a projektet másolják, a forrás másolási beállításait, és az rsync parancsértelmező argumentumait a Visual Studio Távoli beállítások konfigurációs térképén CMakePresets.json. További információ: Visual Studio Távoli beállítások szállítói térkép.
A rendszer továbbra is automatikusan átmásolja a rendszerfejléceket a Windows fájlrendszerbe, hogy biztosítsa a natív IntelliSense-élményt. Az ebben a másolatban szereplő vagy kizárt fejléceket testre szabhatja a Visual Studio Távoli beállítások szállítói térképében a CMakePresets.json.
Módosíthatja az IntelliSense módot, vagy más IntelliSense-beállításokat is megadhat a Visual Studio Beállítások szállítói térképen CMakePresets.json. A szállítói térképről további információt a Visual Studio Távoli beállítások szállítói térkép című témakörben talál.
WSL 2 és MSBuild-alapú Linux-projektek
A CMake minden C++ platformfüggetlen fejlesztéshez ajánlott, Visual Studio mivel lehetővé teszi ugyanazt a projektet Windows, WSL- és távoli rendszereken való létrehozását és hibakeresését.
De lehet, hogy msBuild-alapú Linux-projektje van.
Ha MSBuild-alapú Linux-projektje van, akkor frissíthet a WSL 2 eszközkészletre Visual Studio. Kattintson a jobb gombbal a projektre a megoldáskezelőben, majd válassza a Tulajdonságok>általános>platformeszközkészletet:
Ha WSL 2-disztribúciót céloz meg, és nem szeretné használni a WSL 2 eszközkészletet, majd a Platform Toolset legördülő listában válassza ki a GCC for Linuxos Windows-alrendszer vagy Clang for Linuxos Windows-alrendszer eszközkészletet. Ha valamelyik eszközkészlet ki van választva, Visual Studio nem tartja fenn a forrásfájlok másolatát a WSL fájlrendszerben, hanem a csatlakoztatott Windows meghajtón keresztül fér hozzá a forrásfájlokhoz (/mnt/...). A rendszer továbbra is automatikusan átmásolja a rendszerfejléceket a Windows fájlrendszerbe, hogy natív IntelliSense-élményt biztosítson. Testre szabhatja a másolatban szereplő vagy abból kizárt fejléceket a Property Pages>Generalban.
A legtöbb esetben a WSL 2-es eszközkészletet érdemes WSL 2-disztribúciókkal használni, mert a WSL 2 lassabb, ha a projektfájlokat a Windows fájlrendszerben tárolják. További információ: A WSL 1 és a WSL 2 összehasonlítása.
Lásd még
Video: C++ hibakeresése a WSL 2 disztribúciókkal és Visual Studio 2022
Letöltés Visual Studio 2022
Tutorial: CMake-projekt hibakeresése távoli Windows gépen