Návod: Vytvoření projektu jazyka Visual C++ pomocí nástroje MSBuild
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 Visual 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 vytváříte .vcxproj
soubor ručně, integrované vývojové prostředí sady Visual Studio nemusí být schopné ho upravovat ani načíst, zejména pokud projekt používá v položkách projektu zástupné cardy. Další informace najdete v tématu .vcxproj
.props
a struktuře souborů a .vcxproj
souborech a zástupných cardech.
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 nainstalovaným vývojem desktopových aplikací s nainstalovanou úlohou 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
je . 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
je . 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
je . 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. Soubor main.h
záhlaví obsahuje kód, který bude obsahovat <iostream>
soubor záhlaví. 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.cpp
a 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.h
a 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 Visual 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.vcxproj
a 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 neboToolsVersion="16.0"
používáte Visual Studio 2019.)<Project DefaultTargets="Build" ToolsVersion="16.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
<ItemGroup>
tyto dva<ProjectConfiguration>
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>
. (Jako hodnotu použijtev140
Visual Studio 2015,v141
pokud používáte Visual Studio 2017 nebov142
pokud používáte Visual Studio 2019<PlatformToolset>
.)<PropertyGroup> <ConfigurationType>Application</ConfigurationType> <PlatformToolset>v142</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="15.0"
pro Visual Studio 2017 nebo ToolsVersion="14.0"
pro Visual Studio 2015.)
<Project DefaultTargets="Build" ToolsVersion="16.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, který chcete vyčistit 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 myproject
projektu je vlastnost určena Configuration
konfigurací sestavení vydané verze nebo ladění. Vlastnost určuje Platform
operační systém, který použijete ke spuštění sestavené aplikace.
Na příkazovém řádku zadejte tento příkaz, který vytvoří ladicí build myproject
aplikace, který se spustí v 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 zadejte tento příkaz pro vytvoření sestavení vydané verze 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 v 64bitovém Systému Windows, ve výchozím nastavení se nainstalují 64bitové nativní nástroje x64 a nástroje pro různé nástroje. 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 Visual C++, nástroj MSBuild může vytvářet aplikace pro aktuální verzi visual C++ nebo pro jiné 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:
- Postupy: Přidání vlastního kroku sestavení do projektů MSBuild
- Postupy: Přidání vlastních nástrojů sestavení do projektů MSBuild
- Postupy: Použití událostí sestavení v projektech MSBuild