Konfigurace linuxového projektu MSBuild C++ v Visual Studio
Podpora Linuxu je dostupná v Visual Studio 2017 a novějších verzích.
Toto téma popisuje, jak nakonfigurovat linuxový projekt založený na MSBuild, jak je popsáno v tématu Vytvoření projektu linuxového MSBuild C++ v Visual Studio. Informace o projektech CMake pro Linux najdete v tématu Konfigurace projektu CMake pro Linux.
Projekt Linuxu můžete nakonfigurovat tak, aby cílil na fyzický počítač s Linuxem, virtuální počítač nebo 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ých k sestavení a získání technologie IntelliSense, které jsou vyžadovány při cílení na vzdálený systém Linux.
Můžete zadat samostatné cíle Linuxu pro sestavování a ladění.
Obecná nastavení
Pokud chcete zobrazit možnosti konfigurace, vyberte Project Vlastnosti nebo klikněte pravým tlačítkem na projekt v Průzkumník řešení a v místní nabídce vyberte Vlastnosti. Zobrazí se nastavení Obecné.

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 pro WSL (Subsystém Windows pro Linux), wsl verze 1 je omezena na 64 procesů paralelní kompilace. To se řídí nastavením Max Parallel Compilation Jobs (Maximální počet paralelních úloh kompilace) v části Configuration properties (Vlastnosti konfigurace) C/C++ General (Obecné C/C++).
Bez ohledu na verzi WSL, kterou používáte, doporučujeme, abyste pokud chcete používat více než 64 paralelních kompilačních procesů– což obecně bude rychlejší a spolehlivější. Pokud chcete vytvořit sestavení pomocí nástroje Ninja, použijte nastavení Povolit přírůstkové sestavení v části Vlastnosti konfigurace Obecné.
Další informace o nastavení na stránkách vlastností najdete v tématu Linux Project stránce vlastností.
Vzdálená nastavení
Pokud chcete změnit nastavení související se vzdáleným počítačem s Linuxem, nakonfigurujte vzdálené nastavení, které se zobrazí v části Obecné.
Pokud chcete zadat vzdálený cílový počítač s Linuxem, použijte položku Vzdálený počítač sestavení. To vám umožní vybrat jedno z dříve vytvořených připojení. Pokud chcete vytvořit novou položku, podívejte se do části Připojení ke vzdálenému počítači s Linuxem.

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

Pokud máte instalace WSL vedle sebe, můžete tady zadat jinou cestu. Další informace o správě více distribucí najdete v tématu Správa a konfigurace Subsystém Windows pro Linux.
Jiný cíl pro ladění můžete zadat na stránce Laděnívlastností konfigurace.
Kořenový adresář vzdáleného sestavení určuje kořenové umístění, kde je projekt sestaven na vzdáleném počítači s Linuxem. Pokud se nezmění, výchozí hodnota bude ~/projects.
Na vzdáleném Project Directory se tento konkrétní projekt sestaví na vzdáleném počítači s Linuxem. Výchozí hodnota je $(RemoteRootDir)/$(Název_projektu),která se rozbalí do adresáře s názvem podle aktuálního projektu v kořenovém adresáři nastaveném výše.
Poznámka
Pokud chcete změnit výchozí kompilátory 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 zadat určitou verzi GCC nebo Clang. Další informace najdete v tématu Vlastnosti C/C++ (Linux C++) a Vlastnosti linkeru (Linux C++).
Kopírování zdrojů (jenom vzdálené systémy)
Poznámka
Tato část se nevztahuje na cílení na WSL.
Při sestavování ve 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 Visual Studio projektu zkopírují do umístění nastavených v nastaveních uvedených výše. Do seznamu je ale možné přidat také další zdroje nebo je možné zdroje kopírování úplně vypnout, což je výchozí nastavení pro projekt Soubor pravidel.
Zdroje ke kopírování určují, které zdroje se zkopírují do vzdáleného počítače. Ve výchozím nastavení se @(SourcesToCopyRemodey) ve výchozím nastavení na všechny soubory zdrojového kódu v projektu, ale nezahrnuje žádné soubory prostředků nebo prostředků, jako jsou obrázky.
Zdroje kopírování je možné zapnout a vypnout, pokud chcete 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 středník oddělený seznam nebo můžete použít syntaxi := a zadat místní a vzdálený název, 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), přidalo se do části Události sestavení v části Project sestavení. Jedná se o vzdálenouudálost před sestavením, událost vzdáleného připojení a událost vzdáleného sestavení po sestavení a budou se na vzdáleném počítači vyskytovat před jednotlivými kroky procesu nebo po nich.

IntelliSense pro hlavičky ve vzdálených systémech
Když přidáte nové připojení v Správce připojení, Visual Studio automaticky zjistí 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 Windows počítači. Když pak toto připojení použijete v projektu Visual Studio nebo CMake, hlavičky v těchto adresářích se používají k poskytnutí IntelliSense.
Poznámka
V Visual Studio 2019 verze 16.5 a novější byla optimalizovaná kopie vzdálené hlavičky. Hlavičky se teď kopírují na vyžádání při otevírání linuxového projektu nebo konfiguraci CMake pro cíl Linuxu. Kopírování probíhá na pozadí pro každý projekt na základě zadaných kompilátorů projektu. Další informace najdete v tématu Vylepšení přesnosti a výkonu Linux IntelliSense.
Tato funkce závisí na počítači s Linuxem, na které je nainstalovaný soubor ZIP. Soubor zip můžete nainstalovat pomocí tohoto příkazu apt-get:
sudo apt install zip
Pokud chcete spravovat mezipaměť hlaviček, přejděte na Nástroje Možnosti, Mezi platformami > Správce připojení Remote > Headers IntelliSense Manager. Pokud chcete po provedení změn na počítači s Linuxem aktualizovat mezipaměť hlaviček, vyberte vzdálené připojení a pak vyberte Aktualizovat. Výběrem možnosti Odstranit odeberte hlavičky bez odstranění samotného připojení. Vyberte Prozkoumat a otevřete místní adresář v Průzkumník souborů. Považovat tuto složku za složku jen pro čtení. Pokud chcete stáhnout hlavičky pro existující připojení vytvořené před Visual Studio 2017 verze 15.3, vyberte připojení a pak vyberte Stáhnout.


Protokolování můžete povolit pro pomoc s odstraňováním potíží:

Cílové národní prostředí Linuxu
Visual Studio se nastavení jazyka nešířela na cíle Linuxu, protože Visual Studio nespravuje ani nenakonfiguruje nainstalované balíčky. Zprávy zobrazené v okně Výstup, jako jsou chyby sestavení, se zobrazují pomocí jazyka a národního prostředí cíle Linuxu. Pro požadované národní prostředí budete muset nakonfigurovat cíle Linuxu.
Viz také
Nastavení vlastností kompilátoru a sestavení
Obecné vlastnosti jazyka C++ (Linux C++)
Adresáře VC++ (Linux C++)
Kopírování zdrojů Project vlastnosti (Linux C++)
Vlastnosti události sestavení (Linux C++)