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.
Tento názorný postup ukazuje, jak pomocí nástroje MSBuild na příkazovém řádku sestavit projekt Visual Studio C++. Dozvíte se, jak vytvořit soubor projektu založený na .vcxproj jazyce XML pro konzolovou aplikaci C++. Po sestavení projektu se dozvíte, jak přizpůsobit proces sestavení.
Důležité
Tento přístup nepoužívejte, pokud chcete soubor projektu později upravit pomocí integrovaného vývojového prostředí sady Visual Studio. Pokud vytvoříte .vcxproj soubor manuálně, integrované vývojové prostředí Visual Studio může mít problém s jeho úpravou nebo načtením, zejména pokud projekt používá v položkách projektu zástupné znaky. Další informace najdete ve struktuře souboru .vcxproj a .props a v .vcxproj souborech a zástupných znacích.
Tento názorný postup znázorňuje tyto úlohy:
- Vytvoření zdrojových souborů C++ pro váš projekt
- Vytvoření souboru projektu XML MSBuild
- Pomocí nástroje MSBuild sestavte projekt.
- Použití nástroje MSBuild k přizpůsobení projektu.
Požadavky
K dokončení tohoto návodu potřebujete tyto požadavky:
- Kopie sady Visual Studio s nainstalovanou pracovní zátěží vývoj desktopových aplikací v C++.
- Obecné znalosti systému MSBuild.
Poznámka:
Většina instrukcí sestavení nízké úrovně jsou obsaženy v souborech .targets.props definovaných ve výchozí složce cílů uložené ve vlastnosti $(VCTargetsPath). Tady najdete soubory, jako Microsoft.Cpp.Common.props. Výchozí cesta k těmto souborům v sadě Visual Studio 2015 a starších verzích je v části %ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\<version>\.
Poznámka:
Většina instrukcí sestavení nízké úrovně jsou obsaženy v souborech .targets.props definovaných ve výchozí složce cílů uložené ve vlastnosti $(VCTargetsPath). Tady najdete soubory, jako Microsoft.Cpp.Common.props. Výchozí cesta pro tyto soubory v sadě Visual Studio 2017 je v části %VSINSTALLDIR%Common7\IDE\VC\VCTargets\. Visual Studio 2015 a starší verze je uložily v části %ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\<version>\.
Poznámka:
Většina instrukcí sestavení nízké úrovně jsou obsaženy v souborech .targets.props definovaných ve výchozí složce cílů uložené ve vlastnosti $(VCTargetsPath). Tady najdete soubory, jako Microsoft.Cpp.Common.props. Výchozí cesta pro tyto soubory je v části %VSINSTALLDIR%MSBuild\Microsoft\VC\<version>\. Element <version> path je specifický pro verzi sady Visual Studio.
v160 Je to pro Visual Studio 2019. Visual Studio 2017 tyto soubory uložil v části %VSINSTALLDIR%Common7\IDE\VC\VCTargets\. Visual Studio 2015 a starší verze je uložily v části %ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\<version>\.
Vytvoření zdrojových souborů C++
V tomto názorném postupu vytvoříte projekt se zdrojovým souborem a hlavičkovým souborem. Zdrojový soubor main.cpp obsahuje main funkci konzolové aplikace. Hlavičkový soubor main.h obsahuje kód pro zahrnutí hlavičkového souboru <iostream>. Tyto soubory C++ můžete vytvořit pomocí sady Visual Studio nebo textového editoru, jako je Visual Studio Code.
Vytvoření zdrojových souborů C++ pro váš projekt
Vytvořte složku pro projekt.
Vytvořte soubor s názvem
main.cppa přidejte tento kód do souboru:// main.cpp : the application source code. #include <iostream> #include "main.h" int main() { std::cout << "Hello, from MSBuild!\n"; return 0; }Vytvořte soubor s názvem
main.ha přidejte tento kód do souboru:// main.h: the application header code. /* Additional source code to include. */
Vytvoření souboru projektu XML MSBuild
Soubor projektu MSBuild je soubor XML, který obsahuje kořenový element projektu (<Project>). V ukázkovém projektu, který vytvoříte, <Project> obsahuje element sedm podřízených prvků:
- Tři značky skupiny položek (
<ItemGroup>), které určují konfiguraci projektu a platformu, název zdrojového souboru a název souboru hlaviček. - Tři značky importu (
<Import>), které určují umístění nastavení jazyka Microsoft C++. - Značka skupiny vlastností (
<PropertyGroup>), která určuje nastavení projektu.
Vytvoření souboru projektu MSBuild
Pomocí textového editoru vytvořte soubor projektu s názvem
myproject.vcxproja pak přidejte kořenový<Project>prvek zobrazený zde. (PokudToolsVersion="14.0"používáte Visual Studio 2015,ToolsVersion="15.0"pokud používáte Visual Studio 2017,ToolsVersion="16.0"pokud používáte Visual Studio 2019 neboToolsVersion="17.0"používáte Visual Studio 2022.)<Project DefaultTargets="Build" ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> </Project>Vložte prvky do dalších kroků postupu mezi kořenové
<Project>značky.Přidejte do elementu
<ProjectConfiguration>tyto dva<ItemGroup>podřízené prvky. Podřízený element určuje konfigurace ladění a vydávání pro 32bitový operační systém Windows:<ItemGroup> <ProjectConfiguration Include="Debug|Win32"> <Configuration>Debug</Configuration> <Platform>Win32</Platform> </ProjectConfiguration> <ProjectConfiguration Include="Release|Win32"> <Configuration>Release</Configuration> <Platform>Win32</Platform> </ProjectConfiguration> </ItemGroup><Import>Přidejte element, který určuje cestu výchozího nastavení jazyka C++pro tento projekt:<Import Project="$(VCTargetsPath)\Microsoft.Cpp.default.props" />Přidejte element skupiny vlastností (
<PropertyGroup>), který určuje dvě vlastnosti<ConfigurationType>projektu a<PlatformToolset>. (Pokud používáte Visual Studio 2015,v140pokud používáte Visual Studio 2017, použijte<PlatformToolset>jako hodnotuv141v142, pokud používáte Visual Studio 2019 nebov143, pokud používáte Visual Studio 2022.)<PropertyGroup> <ConfigurationType>Application</ConfigurationType> <PlatformToolset>v143</PlatformToolset> </PropertyGroup><Import>Přidejte element, který určuje cestu aktuálního nastavení jazyka C++pro tento projekt:<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /><ClCompile>Přidejte podřízený prvek do elementu<ItemGroup>. Podřízený element určuje název zdrojového souboru C/C++, který se má zkompilovat:<ItemGroup> <ClCompile Include="main.cpp" /> </ItemGroup>Poznámka:
<ClCompile>je cíl sestavení a je definován ve výchozí složce cílů.<ClInclude>Přidejte podřízený prvek do elementu<ItemGroup>. Podřízený element určuje název hlavičkového souboru zdrojového souboru C/C++:<ItemGroup> <ClInclude Include="main.h" /> </ItemGroup><Import>Přidejte prvek, který určuje cestu k souboru, který definuje cíl pro tento projekt:<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Targets" />
Dokončení souboru projektu
Tento kód ukazuje úplný soubor projektu, který jste vytvořili v předchozím postupu. (Používá se ToolsVersion=16.0 for Visual Studio 2019, ToolsVersion="15.0" pro Visual Studio 2017 nebo ToolsVersion="14.0" pro Visual Studio 2015.)
<Project DefaultTargets="Build" ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.default.props" />
<PropertyGroup>
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ItemGroup>
<ClCompile Include="main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="main.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Targets" />
</Project>
Sestavení projektu pomocí nástroje MSBuild
Zadáním tohoto příkazu na příkazovém řádku sestavte konzolovou aplikaci:
msbuild myproject.vcxproj /p:configuration=debug
NÁSTROJ MSBuild vytvoří složku pro výstupní soubory a pak zkompiluje a pro propojení projektu vygeneruje Myproject.exe program. Po dokončení procesu sestavení pomocí tohoto příkazu spusťte aplikaci ze složky ladění:
myproject
Aplikace by měla v okně konzoly zobrazit "Hello, from MSBuild!" (Hello, from MSBuild).
Přizpůsobení projektu
Nástroj MSBuild umožňuje spouštět předdefinované cíle sestavení, používat uživatelem definované vlastnosti a používat vlastní nástroje, události a kroky sestavení. Tato část ukazuje tyto úlohy:
- Použití nástroje MSBuild s cíli sestavení
- Použití nástroje MSBuild s vlastnostmi sestavení
- Použití nástroje MSBuild s 64bitovým kompilátorem a nástroji.
- Použití nástroje MSBuild s různými sadami nástrojů
- Přidání vlastních nastavení nástroje MSBuild
Použití nástroje MSBuild s cíli sestavení
Cíl sestavení je pojmenovaná sada předdefinovaných nebo uživatelem definovaných příkazů, které je možné spustit během sestavení. Pomocí možnosti cílového příkazového řádku (/t) zadejte cíl sestavení.
myproject Například předdefinovaný clean cíl odstraní všechny soubory ve složce ladění a vytvoří nový soubor protokolu.
Na příkazovém řádku zadejte tento příkaz pro vyčištění myproject:
msbuild myproject.vcxproj /t:clean
Použití nástroje MSBuild s vlastnostmi sestavení
Možnost příkazového řádku vlastnosti (/p) umožňuje přepsat vlastnost v souboru sestavení projektu. V ukázkovém projektu myproject je konfigurace sestavení vydání nebo ladění určena vlastností Configuration. Vlastnost určuje Platform operační systém, který použijete ke spuštění sestavené aplikace.
Zadejte na příkazovém řádku příkaz pro vytvoření ladicího sestavení aplikace myproject, které bude spuštěno na 32bitovém systému Windows.
msbuild myproject.vcxproj /p:configuration=debug /p:platform=win32
Předpokládejme, že myproject ukázkový projekt také definuje konfiguraci pro 64bitovou verzi Windows a jinou konfiguraci pro vlastní operační systém s názvem myplatform.
Na příkazovém řádku zadejte tento příkaz pro vytvoření buildu vydané verze, který běží v 64bitovém systému Windows:
msbuild myproject.vcxproj /p:configuration=release /p:platform=x64
Na příkazovém řádku tento příkaz zadejte pro vytvoření vydání pro myplatform:
msbuild myproject.vcxproj /p:configuration=release /p:platform=myplatform
Použití nástroje MSBuild s 64bitovým kompilátorem a nástroji
Pokud jste nainstalovali Visual Studio na 64bitovém Windows, nainstalují se ve výchozím nastavení 64bitové nativní nástroje x64 a nástroje pro křížovou kompilaci. Nástroj MSBuild můžete nakonfigurovat tak, aby používal 64bitový kompilátor a nástroje k sestavení aplikace nastavením PreferredToolArchitecture vlastnosti. Tato vlastnost nemá vliv na konfiguraci projektu ani vlastnosti platformy. Ve výchozím nastavení se používá 32bitová verze nástrojů. Chcete-li zadat 64bitovou verzi kompilátoru a nástrojů, přidejte tento element skupiny vlastností do Myproject.vcxproj souboru projektu za Microsoft.Cpp.default.props element file <Import /> :
<PropertyGroup>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
Na příkazovém řádku zadejte tento příkaz, který použije 64bitové nástroje k sestavení aplikace:
msbuild myproject.vcxproj /p:PreferredToolArchitecture=x64
Použití nástroje MSBuild s jinou sadou nástrojů
Pokud máte nainstalované sady nástrojů a knihovny pro jiné verze jazyka Microsoft C++ (MSVC), může nástroj MSBuild vytvářet aplikace pro aktuální verzi MSVC nebo pro ostatní nainstalované verze. Pokud jste například nainstalovali Visual Studio 2012, chcete-li zadat sadu nástrojů Visual C++ 11.0 pro Systém Windows XP, přidejte tento element skupiny vlastností do Myproject.vcxproj souboru projektu za Microsoft.Cpp.props element souboru <Import /> :
<PropertyGroup>
<PlatformToolset>v110_xp</PlatformToolset>
</PropertyGroup>
Pokud chcete projekt znovu sestavit pomocí sady nástrojů Visual C++ 11.0 Windows XP, zadejte tento příkaz:
msbuild myproject.vcxproj /p:PlatformToolset=v110_xp /t:rebuild
Přidání vlastních nastavení nástroje MSBuild
Nástroj MSBuild nabízí různé způsoby přizpůsobení procesu sestavení. V těchto článcích se dozvíte, jak do projektu MSBuild přidat vlastní kroky sestavení, nástroje a události:
- Jak na to: Přidání vlastního build kroku do projektů MSBuild
- Postupy: Přidání vlastních nástrojů sestavení do projektů MSBuild
- Návod: Jak používat události sestavení v projektech MSBuild