Sdílet prostřednictvím


Návod: Vytvoření projektu jazyka Visual C++ pomocí nástroje MSBuild

Tento návod ukazuje, jak použít MSBuild k sestavení projektu Visual C++ na příkazovém řádku.Dozvíte se, jak vytvořit zdrojové soubory C++ a souboru projektu založeného na jazyce XML pro konzolovou aplikaci Visual C++.Po vytvoření projektu se naučíte proces sestavení přizpůsobit.

Tento návod ilustruje následující úkoly:

  • Vytvořte zdrojové soubory C++ v projektu.

  • Vytváření souboru projektu XML MSBuild.

  • Použití MSBuild k sestavení projektu.

  • Použití MSBuild k přizpůsobení projektu.

Požadavky

K dokončení tohoto návodu potřebujete následující:

  • Visual Studio 2013

  • Obecné principy systému MSBuild.

Vytvoření zdrojových souborů C++

V tomto návodu vytvoříte projekt, který obsahuje zdrojový soubor a soubor hlavičky.Zdrojový soubor main.cpp obsahuje hlavní funkci pro aplikaci konzoly.Main.h v souboru záhlaví obsahuje kód přikazující zahrnutí souboru záhlaví iostream.Tyto soubory C++ lze vytvořit pomocí Visual Studio nebo textového editoru.

Vytvoření zdrojových souborů C++ pro projekt

  1. Vytvořte adresář pro projekt.

  2. Vytvořte soubor s názvem main.cpp a do tohoto souboru přidejte následující kód:

    // main.cpp : the application source code.
    #include <iostream>
    #include "main.h"
    int main()
    {
       std::cout << "Hello, from MSBuild!\n";
       return 0;
    }
    
  3. Vytvořte soubor s názvem main.h a do tohoto souboru přidejte následující kód:

    // main.h: the application header code.
    /* Additional source code to include. */
    

Vytváření souboru projektu XML MSBuild

Soubor projektu MSBuild je soubor XML, který obsahuje kořenový prvek projektu (<Project>).V následujícím příkladu projektu obsahuje element <Project> sedm podřízených elementů:

  • Tři značky skupiny položek (<ItemGroup>) určující konfigurace a platformu projektu, název zdrojového souboru a název souboru záhlaví.

  • Tři tagy pro import (<Import>) určující umístění nastavení společnosti Microsoft Visual C++.

  • Značka skupiny vlastností (<PropertyGroup>), která určuje nastavení projektu.

Vytváření souboru projektu MSBuild

  1. Pomocí textového editoru vytvořte soubor projektu s názvem myproject.vcxproja pak přidejte následující kořen elementu <Project>.Vložte prvky do následujících kroků postupu mezi kořenové značky <Projekt>:

    <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
    </Project>
    
  2. Přidejte následující dva podřízené prvky <ProjectConfiguration> do prvku <ItemGroup>.Podřízený prvek určuje konfiguraci ladění i vydá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>
    
  3. Přidejte následující prvek <Import/>, který určuje cestu k výchozímu nastavení C++ pro tento projekt:

      <Import Project="$(VCTargetsPath)\Microsoft.Cpp.default.props" />
    
  4. Přidejte následující prvek skupiny vlastností (<PropertyGroup>), který určuje dvě vlastnosti projektu:

      <PropertyGroup>
        <ConfigurationType>Application</ConfigurationType>
        <PlatformToolset>v120</PlatformToolset>
      </PropertyGroup>
    
  5. Přidejte následující prvek <Import/>, který určuje cestu k aktuálnímu nastavení C++ pro tento projekt:

      <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
    
  6. Přidejte následující podřízený prvek <ClCompile> do prvku <ItemGroup>.Podřízený prvek určuje název zdrojového souboru jazyka C/C++ pro kompilaci:

      <ItemGroup>
        <ClCompile Include="main.cpp" />
      </ItemGroup>
    
  7. Přidejte následující podřízený prvek <ClInclude> do prvku <ItemGroup>.Podřízený prvek určuje název souboru s hlavičkou pro zdrojový soubor jazyka C/C++:

      <ItemGroup>
        <ClInclude Include="main.h" />
      </ItemGroup>
    
  8. Přidejte následující prvek <Import>, který určuje cestu souboru, který definuje cíl pro tento projekt:

      <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Targets" />
    

Dokončit soubor projektu

Následující kód ukazuje celý soubor projektu, který jste vytvořili v předchozí proceduře.

<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="https://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>v120</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>

Použití MSBuild k sestavení projektu.

Na příkazovém řádku zadejte následující příkaz k sestavení konzolové aplikace:

msbuild myproject.vcxproj /p:configuration=debug

MSBuild vytvoří adresář pro výstupní soubory a následně zkompiluje a propojí vaše projekty ke generování programu Myproject.exe.Po dokončení procesu sestavení použijte následující příkaz pro spuštění aplikace:

myproject

V okně konzoly aplikace by se měl zobrazovat nápis "Zdraví vás nástroj MSBuild!".

Přizpůsobení vašeho projektu

MSBuild umožňuje spustit předdefinované cíle sestavení, použít uživatelem definované vlastnosti a použít vlastní nástroje, události a kroky sestavení.Tato část ilustruje následující úkoly:

  • 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í MSBuild s různými sadami nástrojů.

  • Přidání vlastního nastavení 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é mohou být provedeny během sestavení.Pomocí možnosti cílového parametru příkazového řádku (/t) určete cíl sestavení.V případě vzorového projektu myproject předdefinovaný cíl clean odstraní všechny soubory ve složce ladění a vytvoří nový soubor protokolu.

Na příkazovém řádku zadejte následující příkaz k čištění myproject.

msbuild myproject.vcxproj /t:clean

Použití nástroje MSBuild s vlastnostmi sestavení

Možnost příkazového řádku vlastností (/p) umožňuje přepsat vlastnost v souboru sestavení projektu.Ve vzorovém projektu myproject je konfigurace vydání nebo ladícího sestavení určena vlastností Configuration.A operační systém, který má spustit sestavenou aplikaci, je určen vlastností Platform.

Na příkazovém řádku zadejte následující příkaz k vytvoření nového sestavení ladění aplikace myproject, která je určena ke spuštění ve 32bitovém systému Windows.

msbuild myproject.vcxproj /p:configuration=debug /p:platform=win32

Předpokládejme, že vzorový projekt myproject také definuje konfiguraci pro 64bitový systém Windows a jinou konfiguraci pro vlastní operační systém s názvem myplatform.

Na příkazovém řádku zadejte následující příkaz k vytvoření verze sestavení, která běží v 64bitové verzi systému Windows.

msbuild myproject.vcxproj /p:configuration=release /p:platform=x64

Na příkazovém řádku zadejte následující příkaz k vytvoření verze sestavení pro myplatform.

msbuild myproject.vcxproj /p:configuration=release /p:platform=myplatform

Použití nástroje s 64bitovým kompilátorem a nástroji

Pokud jste nainstalovali Visual C++ na 64bitovou verze systému Windows, ve výchozím nastavení je nainstalováno nativní 64bitové nativní prostředí x64 a křížové nástroje.Produkt MSBuild můžete nakonfigurovat na použití 64bitového kompilátoru a nástrojů k sestavení aplikace nastavením vlastnosti PreferredToolArchitecture.Tato vlastnost nemá vliv na konfiguraci projektu nebo vlastnosti platformy.Standardně se používají 32bitové verze nástrojů.Chcete-li určit 64bitovou verzi kompilátoru a nástrojů, přidejte následující element skupiny vlastností do souboru projektu Myproject.vcxproj za element Microsoft.Cpp.default.props <Import />:

<PropertyGroup>
    <PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>

Na příkazovém řádku zadejte následující příkaz k použití 64bitových nástrojů k sestavení aplikace.

msbuild myproject.vcxproj /p:PreferredToolArchitecture=x64

Použití nástroje MSBuild s různými sadami nástrojů

Pokud máte nainstalovány sady nástrojů a knihovny pro jiné verze jazyka Visual C++, MSBuild může vytvářet aplikace pro buď aktuální verzi jazyka Visual C++ nebo pro ostatní nainstalované verze.Například, pokud jste nainstalovali Visual C++ v sadě Visual Studio 2012, chcete-li určit sadu nástrojů Visual C++ 11.0 pro systém Windows XP, přidejte následující element skupiny vlastností do souboru projektu Myproject.vcxproj po elementu Microsoft.Cpp.props <Import />:

<PropertyGroup>
    <PlatformToolset>v110_xp</PlatformToolset>
</PropertyGroup>

Chcete-li znovu sestavit projekt pomocí sady nástrojů Visual C++ 11.0 systému Windows XP, zadejte některý z následujících příkazů:

msbuild myproject.vcxproj /p:PlatformToolset=v110_xp /t:rebuild

msbuild myproject.vcxproj /t:rebuild

Přidání vlastního nastavení MSBuild

MSBuild poskytuje různé způsoby přizpůsobení procesu sestavení.Následující témata ukazují, jak přidat vlastní kroky sestavení, nástroje a události do vašeho projektu MSBuild: