Sdílet prostřednictvím


Konfigurace projektu Linux MSBuild C++ v sadě Visual Studio

Podpora Linuxu je dostupná v sadě Visual Studio 2017 a novějších verzích.

Toto téma popisuje, jak nakonfigurovat projekt Linuxu založený na MSBuildu, jak je popsáno v tématu Vytvoření projektu Linux MSBuild C++ v sadě Visual Studio. Projekty CMake linuxu najdete v tématu Konfigurace projektu Linux CMake.

Projekt Linuxu můžete nakonfigurovat tak, aby cílil na fyzický počítač s Linuxem, na virtuální počítač nebo na Subsystém Windows pro Linux (WSL).

Visual Studio 2019 verze 16.1 a novější:

  • Když cílíte na WSL, můžete se vyhnout operacím kopírování potřebným k sestavení a získání technologie IntelliSense, které jsou vyžadovány při cílení na vzdálený systém Linux.

  • Pro sestavování a ladění můžete zadat samostatné cíle Linuxu.

Obecné nastavení

Pokud chcete zobrazit možnosti konfigurace, vyberte nabídku Vlastnosti projektu > nebo klikněte pravým tlačítkem myši na projekt v Průzkumník řešení a v místní nabídce vyberte Vlastnosti. Zobrazí se obecné nastavení.

Snímek obrazovky s dialogovým oknem Stránky vlastností – Obecná konfigurace

Ve výchozím nastavení je sestaven spustitelný soubor (.out). Pokud chcete vytvořit statickou nebo dynamickou knihovnu nebo použít existující soubor pravidel, použijte nastavení Typ konfigurace.

Pokud vytváříte pro Subsystém Windows pro Linux (WSL), je WSL verze 1 omezená na 64 paralelních procesů kompilace. Toto nastavení se řídí nastavením Max Parallel Compilation Jobs (Max Parallel Compilation Jobs ) ve vlastnostech > konfigurace C/C++ > General.

Bez ohledu na verzi WSL, kterou používáte, pokud máte v úmyslu používat více než 64 paralelních procesů kompilace, doporučujeme, abyste sestavili s Ninja- což bude obecně rychlejší a spolehlivější. Chcete-li sestavovat pomocí Ninja, použijte nastavení Povolit přírůstkové sestavení ve vlastnostech > konfigurace Obecné.

Další informace o nastavení na stránkách vlastností naleznete v tématu Odkaz na stránku vlastností projektu Linuxu.

Vzdálená nastavení

Pokud chcete změnit nastavení související se vzdáleným linuxem, nakonfigurujte vzdálená nastavení, která se zobrazí v části Obecné.

  • Chcete-li zadat vzdálený cílový počítač s Linuxem, použijte položku Vzdálené sestavení počítače . To vám umožní vybrat jedno z dříve vytvořených připojení. Pokud chcete vytvořit novou položku, přečtěte si část Připojení ke vzdálenému počítači s Linuxem.

    Snímek obrazovky zobrazující vzdálený počítač sestavení

    Visual Studio 2019 verze 16.7 a novější: Pokud chcete cílit na Subsystém Windows pro Linux (WSL), nastavte rozevírací seznam Sady nástrojů platformy na GCC pro Subsystém Windows pro Linux. Ostatní vzdálené možnosti zmizí a cesta k výchozímu prostředí WSL se zobrazí na jejich místě:

    Snímek obrazovky znázorňující počítač sestavení WSL

    Pokud máte souběžné instalace WSL, můžete zde zadat jinou cestu. Další informace o správě více distribucí najdete v tématu Správa a konfigurace Subsystém Windows pro Linux.

    Na stránce Ladění vlastností>konfigurace můžete zadat jiný cíl.

  • Kořenový adresář vzdáleného sestavení určuje kořenové umístění, kde je projekt postaven na vzdáleném počítači s Linuxem. Výchozí hodnota bude ~ /projects , pokud se nezmění.

  • Adresář projektu vzdáleného sestavení je místo, kde bude tento konkrétní projekt postaven na vzdáleném počítači s Linuxem. Ve výchozím nastavení bude $(RemoteRootDir)/$(ProjectName), který se rozbalí do adresáře pojmenovaného po aktuálním projektu v kořenovém adresáři nastaveném výše.

Poznámka:

Chcete-li změnit výchozí kompilátory jazyka C a C++ nebo linker a archiver použitý k sestavení projektu, použijte příslušné položky v části Obecné jazyka C/C++ > a v části Obecné linkeru > . Můžete například zadat určitou verzi GCC nebo Clang. Další informace naleznete v tématu Vlastnosti C/C++ (Linux C++) a Vlastnosti linkeru (Linux C++).

Kopírování zdrojů (pouze vzdálené systémy)

Poznámka:

Tato část se nevztahuje při cílení na WSL.

Při sestavování na vzdálených systémech se zdrojové soubory na vývojovém počítači zkopírují do počítače s Linuxem a zkompilují se tam. Ve výchozím nastavení se všechny zdroje v projektu sady Visual Studio zkopírují do umístění nastavených v nastavení výše. Do seznamu se ale dají přidat i další zdroje nebo je možné úplně vypnout kopírování zdrojů, což je výchozí nastavení pro projekt makefile.

  • Zdroje ke kopírování určují, které zdroje se zkopírují do vzdáleného počítače. Ve výchozím nastavení je výchozí hodnota @(SourcesToCopyRemotely) pro všechny soubory zdrojového kódu v projektu, ale neobsahuje žádné soubory prostředků nebo prostředků, jako jsou obrázky.

  • Zdroje kopírování je možné zapnout a vypnout, aby bylo možné povolit a zakázat kopírování zdrojových souborů do vzdáleného počítače.

  • Další zdroje ke kopírování umožňují přidat další zdrojové soubory, které se zkopírují do vzdáleného systému. Můžete zadat seznam oddělený středníkem nebo můžete použít syntaxi := k zadání místního a vzdáleného názvu, který se má použít:

C:\Projects\ConsoleApplication1\MyFile.cpp:=~/projects/ConsoleApplication1/ADifferentName.cpp;C:\Projects\ConsoleApplication1\MyFile2.cpp:=~/projects/ConsoleApplication1/ADifferentName2.cpp;

Události sestavení

Vzhledem k tomu, že veškerá kompilace probíhá na vzdáleném počítači (nebo WSL), bylo do části Události sestavení ve vlastnostech projektu přidáno několik dalších událostí sestavení. Jedná se o událost vzdáleného předběžného sestavení, událost vzdáleného předběžného propojení a událost vzdáleného následného sestavení a dojde na vzdáleném počítači před nebo po jednotlivých krocích v procesu.

Snímek obrazovky s dialogovým oknem Stránky vlastností zobrazující události sestavení

IntelliSense pro hlavičky ve vzdálených systémech

Když do Správce připojení přidáte nové připojení, Sada Visual Studio automaticky rozpozná adresáře zahrnutí pro kompilátor ve vzdáleném systému. Visual Studio pak tyto soubory zazipuje a zkopíruje do adresáře na místním počítači s Windows. Potom se při každém použití tohoto připojení v projektu Visual Studio nebo CMake použijí hlavičky v těchto adresářích k poskytnutí intelliSense.

Poznámka:

V sadě Visual Studio 2019 verze 16.5 a novější byla vzdálená kopie hlavičky optimalizovaná. Hlavičky se teď kopírují na vyžádání při otevření projektu Linuxu nebo konfiguraci CMake pro cíl Linuxu. Kopie se provádí na pozadí na základě jednotlivých projektů na základě zadaných kompilátorů projektu. Další informace najdete v tématu Vylepšení přesnosti a výkonu Technologie IntelliSense pro Linux.

Tato funkce závisí na počítači s Linuxem, který má nainstalovaný zip. Zip můžete nainstalovat pomocí tohoto příkazu apt-get:

sudo apt install zip

Pokud chcete spravovat mezipaměť hlaviček, přejděte na Možnosti nástrojů>, Správce připojení > Správce technologie IntelliSense pro různé platformy > . Pokud chcete aktualizovat mezipaměť hlaviček po provedení změn na počítači s Linuxem, vyberte vzdálené připojení a pak vyberte Aktualizovat. Výběrem možnosti Odstranit odeberete záhlaví bez odstranění samotného připojení. Výběrem možnosti Prozkoumat otevřete místní adresář v Průzkumník souborů. Považovat tuto složku za jen pro čtení. Pokud chcete stáhnout hlavičky pro existující připojení vytvořené před sadou Visual Studio 2017 verze 15.3, vyberte připojení a pak vyberte Stáhnout.

Snímek obrazovky s dialogovým oknem Možnosti s vybranou možností > Správce připojení Správce technologie IntelliSense pro vzdálenou platformu >

Snímek obrazovky s dialogovým oknem Možnosti s vybranou možností Správce připojení napříč platformami >

Protokolování vám může pomoct s řešením problémů:

Snímek obrazovky s dialogovým oknem Možnosti zobrazující možnosti vzdáleného protokolování

Cílové národní prostředí Linuxu

Nastavení jazyka sady Visual Studio se nešíruje do cílů Linuxu, protože Visual Studio nespravuje ani nenakonfiguruje nainstalované balíčky. Zprávy zobrazené v okně Výstup , například chyby sestavení, se zobrazují pomocí jazyka a národního prostředí cíle Linuxu. Budete muset nakonfigurovat cíle Linuxu pro požadované národní prostředí.

Viz také

Nastavení vlastností kompilátoru a sestavení
Obecné vlastnosti C++ (Linux C++)
Adresáře VC++ (Linux C++)
Kopírovat vlastnosti projektu zdroje (Linux C++)
Vlastnosti události sestavení (Linux C++)