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.
A Linux-támogatás a Visual Studio 2017-ben és újabb verzióiban érhető el. A verziók dokumentációjának megtekintéséhez állítsa a tartalomjegyzék fölött található Verzió legördülő menüt Visual Studio 2017 vagy Visual Studio 2019.
Ez a témakör azt ismerteti, hogyan adhat hozzá Linux-konfigurációt egy távoli Linux-rendszert vagy Windows-alrendszert (WSL) futtató CMake-projekthez. Folytatódik a Sorozat, amely a Linux CMake-projekt Visual Studióban való létrehozásával kezdődött. Ha az MSBuildet használja, olvassa el a Linux MSBuild-projekt konfigurálása a Visual Studióban című témakört
Linux-konfiguráció hozzáadása
A konfigurációval különböző platformokat (Windows, WSL, távoli rendszer) célozhat meg ugyanazzal a forráskóddal. A konfiguráció a fordítók beállítására, a környezeti változók átadására és a CMake meghívásának testreszabására is használható. A CMakeSettings.json fájl a CMake testreszabása beállításai között felsorolt tulajdonságok egy részét vagy egészét, valamint a távoli Linux-gépen a buildbeállításokat vezérlő egyéb tulajdonságokat is megadja.
A Visual Studio 2017 alapértelmezett CMake-beállításainak módosításához válassza a CMake> Settings >CMakeLists.txt lehetőséget a főmenüben. Vagy kattintson a jobb gombbal aCMakeLists.txt a Megoldáskezelőben , és válassza a CMake beállításainak módosítása lehetőséget. A Visual Studio ezután létrehoz egy új CMakeSettings.json fájlt a gyökérprojekt mappájában. A módosítások elvégzéséhez nyissa meg a fájlt, és módosítsa közvetlenül. További információ: CMake-beállítások testreszabása.
A Visual Studio 2017 Linux-Debug alapértelmezett konfigurációja (és a Visual Studio 2019 16.0-s verziója) a következőképpen néz ki:
{
"configurations": [
{
"name": "Linux-Debug",
"generator": "Unix Makefiles",
"remoteMachineName": "${defaultRemoteMachineName}",
"configurationType": "Debug",
"remoteCMakeListsRoot": "/var/tmp/src/${workspaceHash}/${name}",
"cmakeExecutable": "/usr/local/bin/cmake",
"buildRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\build\\${name}",
"installRoot": "${env.USERPROFILE}\\CMakeBuilds\\${workspaceHash}\\install\\${name}",
"remoteBuildRoot": "/var/tmp/build/${workspaceHash}/build/${name}",
"remoteInstallRoot": "/var/tmp/build/${workspaceHash}/install/${name}",
"remoteCopySources": true,
"remoteCopySourcesOutputVerbosity": "Normal",
"remoteCopySourcesConcurrentCopies": "10",
"remoteCopySourcesMethod": "rsync",
"remoteCopySourcesExclusionList": [
".vs",
".git"
],
"rsyncCommandArgs": "-t --delete --delete-excluded",
"remoteCopyBuildOutput": false,
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"inheritEnvironments": [
"linux_x64"
]
}
]
}
Ha módosítani szeretné a Visual Studio 2019 vagy újabb verziójában az alapértelmezett CMake-beállításokat, a fő eszköztáron nyissa meg a Konfiguráció legördülő menüt, és válassza a Konfigurációk kezelése lehetőséget.
) lehetőségről.
Ez a parancs megnyitja a CMake Beállítások szerkesztőt, amellyel szerkesztheti a CMakeSettings.json fájlt a gyökérprojekt mappájában. A fájlt a JSON-szerkesztővel is megnyithatja a CMake-beállítások párbeszédpanel jobb felső sarkában található JSON szerkesztése gombra kattintva. További információ: CMake-beállítások testreszabása.
A Visual Studio 2019 16.1-es és újabb verziójának alapértelmezett Linux-Debug konfigurációja a következőképpen néz ki:
{
"configurations": [
{
"name": "Linux-GCC-Debug",
"generator": "Ninja",
"configurationType": "Debug",
"cmakeExecutable": "cmake",
"remoteCopySourcesExclusionList": [ ".vs", ".git", "out" ],
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"inheritEnvironments": [ "linux_x64" ],
"remoteMachineName": "${defaultRemoteMachineName}",
"remoteCMakeListsRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/src",
"remoteBuildRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/out/build/${name}",
"remoteInstallRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/out/install/${name}",
"remoteCopySources": true,
"rsyncCommandArgs": "-t --delete --delete-excluded",
"remoteCopyBuildOutput": false,
"remoteCopySourcesMethod": "rsync",
"variables": []
}
]
}
A Visual Studio 2019 16.6-os vagy újabb verziójában a Ninja az alapértelmezett generátor távoli rendszert vagy WSL-t célzó konfigurációkhoz, szemben a Unix Makefile-okkal. További információkért lásd ezt a bejegyzést a C++ csapat blogján.
További információ ezekről a beállításokról: CMakeSettings.json referencia.
Összeállítás készítésekor:
- Ha távoli rendszert céloz meg, a Visual Studio alapértelmezés szerint az Eszközök>beállításai>platformfüggetlen>kapcsolatkezelője listában az első távoli rendszert választja ki a távoli célokhoz.
- Ha nem található távoli kapcsolat, a rendszer kérni fogja, hogy hozzon létre egyet. További információ: Csatlakozás a távoli Linux-számítógéphez.
Linux-cél kiválasztása
Amikor megnyit egy CMake-projektmappát, a Visual Studio feldolgozza a CMakeLists.txt fájlt, és megad egy Windows célplatformot: x86-Debug. Ha egy távoli Linux-rendszert szeretne megcélozni, a Linux fordítóprogram szerint módosítania kell a projekt beállításait. Ha például linuxos GCC-t használ, és hibakeresési adatokkal dolgozik, válassza a Következőt: Linux-GCC-Debug vagy Linux-GCC-Release.
Ha távoli Linux-célt ad meg, a rendszer a forrást a távoli rendszerbe másolja.
A cél kiválasztása után a CMake automatikusan fut a Linux rendszeren a projekt CMake-gyorsítótárának létrehozásához:
Cél Windows-alrendszer Linuxhoz
Ha a Linux rendszerhez készült Windows-alrendszert (WSL) célozza, nem kell távoli kapcsolatot hozzáadnia.
A WSL megcélzásához válassza a Konfigurációk kezelése lehetőséget a fő eszköztár konfigurációs legördülő menüjében:
Megjelenik a CMakeSettings.json ablak.
Nyomja le a Konfiguráció hozzáadása gombot (a zöld "+" gombot), majd A GCC használata esetén válassza a Linux-GCC-Debug vagy a Linux-GCC-Release lehetőséget. Használja a Clang-változatokat, ha a Clang/LLVM eszközkészletet használja. A konfiguráció mentéséhez nyomja le a Kijelölés , majd a Ctrl+S billentyűkombinációt .
Visual Studio 2019 16.1-es verzió A WSL megcélzásakor a Visual Studiónak nem kell forrásfájlokat másolnia, és két szinkron példányt kell fenntartania a buildfáról, mert a Linuxon futó fordító közvetlen hozzáféréssel rendelkezik a forrásfájlokhoz a csatlakoztatott Windows fájlrendszerben.
IntelliSense
A C++ IntelliSense pontos használatához hozzá kell férnie a C++ forrásfájlok által hivatkozott C++ fejlécekhez. A Visual Studio automatikusan egy CMake-projekt által hivatkozott fejléceket használ Linuxról Windowsra, hogy teljes körű IntelliSense-élményt nyújtson. További információért tekintse meg: IntelliSense a távoli fejlécekhez.
Területi beállítás
A Visual Studio nyelvi beállításai nem propagálhatók Linux-célokra, mert a Visual Studio nem kezeli vagy konfigurálja a telepített csomagokat. A Kimeneti ablakban látható üzenetek, mint például a fordítási hibák, a Linux célkörnyezet nyelvén és területi beállításai szerint jelennek meg. Konfigurálnia kell a Linux-célokat a kívánt területi beállításhoz.
További beállítások
A következő beállításokkal futtathat parancsokat a Linux rendszeren a létrehozás előtt és után, valamint a CMake-generáció előtt. Az értékek bármely, a távoli rendszeren érvényes parancsok lehetnek. A kimenet vissza lesz csövezve a Visual Studióba.
{
"remotePrebuildCommand": "",
"remotePreGenerateCommand": "",
"remotePostbuildCommand": "",
}
Következő lépések
CMake hibakeresési munkamenetek konfigurálása
Lásd még
Projekttulajdonságok használata
CMake-beállítások testreszabása
CMake előre definiált konfigurációs referencia