Udostępnij za pośrednictwem


Wskazówki: Korzystanie z MSBuild do tworzenia projektu Visual C++

W tym instruktażu przedstawiono sposób użycia MSBuild do kompilowania projektu Visual C++ w wierszu polecenia.Poznasz sposób tworzenia plików źródłowych języka C++ oraz pliku projektu opartego na języku XML dla konsoli aplikacja Visual C++.Po utworzeniu projektu dowiesz się, jak dostosować proces tworzenia.

W przewodniku przedstawiono następujące zagadnienia:

  • Tworzenie plików źródłowych C++ dla Twojego projektu.

  • Tworzenie pliku XML projektu MSBuild.

  • Korzystanie z MSBuild do kompilowania projektu

  • Korzystanie z MSBuild do dostosowywania projektu

Wymagania wstępne

W celu przeprowadzenia tego instruktażu potrzebujesz:

  • Visual Studio 2013

  • Ogólna wiedza o systemie MSBuild.

Tworzenie plików źródłowych języka C++

W tym instruktażu utworzysz projekt, który ma plik źródłowego i plik nagłówkowy.Plik źródłowy main.cpp zawiera główną funkcję dla aplikacji konsoli.Main.h pliku nagłówka zawiera kod, który pozwala dołączyć plik nagłówka iostream.Można tworzyć te pliki języka C++ za pomocą Visual Studio lub edytora tekstu.

Aby utworzyć pliki źródłowe C++ dla Twojego projektu

  1. Utwórz katalog dla swojego projektu.

  2. Utwórz plik o nazwie main.cpp i dodaj następujący kod do tego pliku:

    // main.cpp : the application source code.
    #include <iostream>
    #include "main.h"
    int main()
    {
       std::cout << "Hello, from MSBuild!\n";
       return 0;
    }
    
  3. Utwórz plik o nazwie main.h i dodaj następujący kod do tego pliku:

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

Tworzenie pliku XML projektu MSBuild

Plik projektu MSBuild to plik XML, który zawiera element główny projektu (<projekt>).W następującym przykładowym projekcie element <Project> zawiera siedem elementów podrzędnych:

  • Pozycja znaczniki grupy elementów (<ItemGroup>) określające konfigurację projektu i platformy, nazwę pliku źródłowego oraz nazwę pliku nagłówka.

  • Trzy znaczniki importowania (<Importuj>) określające położenie ustawień Microsoft Visual C++.

  • Tag grupy właściwości (<PropertyGroup>), który określa ustawienia projektu.

Aby utworzyć plik projektu MSBuild

  1. Użyj edytora tekstu, aby utworzyć plik projektu o nazwie myproject.vcxproj, a następnie dodaj następujący element katalogu głównego <Projekt>.Wstaw elementy w poniższych krokach procedury między głównymi znacznikami <Project>:

    <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
    </Project>
    
  2. Dodaj następujące dwa elementy podrzędne <ProjectConfiguration> w elemencie <ItemGroup>.Element podrzędny określa konfiguracje debugowania i zwalniania konfiguracji dla 32-bitowego systemu operacyjnego 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. Dodaj następujący element <importowania/>, który określa ścieżkę ustawień domyślnych C++ dla tego projektu:

      <Import Project="$(VCTargetsPath)\Microsoft.Cpp.default.props" />
    
  4. Dodaj poniższy element grupy właściwości (<PropertyGroup>), która określa dwie właściwości projektu:

      <PropertyGroup>
        <ConfigurationType>Application</ConfigurationType>
        <PlatformToolset>v120</PlatformToolset>
      </PropertyGroup>
    
  5. Dodaj następujący element <importowania/>, który określa ścieżkę pliku aktualnych ustawień C++ dla tego projektu:

      <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
    
  6. Dodaj następujący element podrzędny <ClCompile> w elemencie <ItemGroup>.Element podrzędny określa nazwę pliku źródłowego języka C/C++ do skompilowania:

      <ItemGroup>
        <ClCompile Include="main.cpp" />
      </ItemGroup>
    
  7. Dodaj następujący element podrzędny <ClInclude> w elemencie <ItemGroup>.Element podrzędny określa nazwę pliku nagłówka dla pliku źródłowego języka C/C++:

      <ItemGroup>
        <ClInclude Include="main.h" />
      </ItemGroup>
    
  8. Dodaj następujący element <importowania>, który określa ścieżkę pliku, który definiuje obiekt docelowy dla tego projektu:

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

Ukończ plik projektu

Poniższy kod przedstawia kompletny plik projektu, który został utworzony w poprzedniej procedurze.

<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>

Korzystanie z programu MSBuild do kompilowania projektu

W wierszu polecenia wpisz następujące polecenie, aby skompilować aplikację konsoli:

msbuild myproject.vcxproj /p:configuration=debug

MSBuild tworzy katalog dla plików wyjściowych a następnie kompiluje i łączy projekt, aby generować program Myproject.exe.Po zakończeniu procesu kompilacji użyj następującego polecenia do uruchomienia aplikacji:

myproject

Aplikacja powinna wyświetlić "Hello, z programu MSBuild!" w oknie konsoli.

Dostosowywanie projektu użytkownika

MSBuild umożliwia wykonywanie wstępnie zdefiniowanych celów kompilacji, stosowanie właściwości zdefiniowany przez użytkownika i używanie niestandardowych narzędzi, zdarzeń oraz kroków kompilacji.W tej sekcji przedstawiono następujące zagadnienia:

  • Korzystanie z MSBuild z celami kompilacji.

  • Korzystanie z MSBuild z właściwościami kompilacji.

  • Korzystanie z MSBuild z 64-bitowym kompilatorem i narzędziami.

  • Korzystanie z MSBuild z różnymi zestawami narzędzi.

  • Dodawanie dostosowań MSBuild.

Korzystanie z programu MSBuild z celami Kompilacja

Cel kompilacji jest zestawem nazwanym poleceń wstępnie zdefiniowanych lub zdefiniowanych przez użytkownika, które mogą być wykonywane w czasie kompilacji.Użyj opcji docelowego wiersza polecenia (/t) do określania docelowej kompilacji.W przypadku przykładowego projektu myproject wstępnie zdefiniowany obiekt docelowy clean usuwa wszystkie pliki w folderze debugowania i tworzy nowy plik dziennika.

W wierszu polecenia wpisz następujące polecenie, aby wyczyścić myproject.

msbuild myproject.vcxproj /t:clean

Korzystanie z programu MSBuild z właściwościami Kompilacja

Opcja wiersza polecenia właściwości (/p) umożliwia zastąpienie właściwości w pliku kompilacji projektu.W przykładowym projekcie myproject konfiguracja kompilacji wydania lub debugowania jest określona przez właściwość Configuration.I system operacyjny, który jest przeznaczony do uruchamiania aplikacji, jest określony przez właściwość Platform.

W wierszu polecenia wpisz następujące polecenie, aby utworzyć kompilację do debugowania aplikacji myproject, która jest przeznaczony do uruchamiania w 32-bitowych systemach Windows.

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

Załóżmy, że projekt przykład myproject również definiuje konfigurację dla 64-bitowego systemu Windows, a inną konfigurację dla niestandardowych systemu operacyjnego o nazwie myplatform.

W wierszu polecenia wpisz następujące polecenie, aby utworzyć kompilację wydania do uruchamiania w 64-bitowych systemach Windows.

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

W wierszu polecenia wpisz następujące polecenie, aby utworzyć kompilację wydania dla myplatform.

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

Korzystanie z programu MSBuild z 64-bitowym kompilatorem i narzędziami

Jeśli zainstalowano program Visual C++ na 64-bitowym systemie Windows, domyślnie są zainstalowane natywne i ogólnoplatformowe 64-bitowe narzędzia dla architektury x64.Możesz skonfigurować MSBuild, aby użyć kompilatora 64-bitowego i narzędzi do budowania Twojej aplikacji poprzez ustawienie właściwości PreferredToolArchitecture.Właściwość ta nie wpływa na właściwości konfiguracji lub platformy projektu.Domyślnie jest używana 32-bitowa wersja narzędzi.Aby określić 64-bitową wersję kompilatora i narzędzi, należy dodać następujący element grupy właściwości do pliku projektu Myproject.vcxproj za elementem Microsoft.Cpp.default.props <Import />:

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

W wierszu polecenia wpisz następujące polecenie, aby użyć narzędzi 64-bitowych do skompilowania aplikacji.

msbuild myproject.vcxproj /p:PreferredToolArchitecture=x64

Korzystanie z programu MSBuild z innym zestawem narzędzi

Jeśli masz zainstalowane zestawy narzędzi i biblioteki dla innych wersji programu Visual C++, program MSBuild może kompilować aplikacje dla bieżącej wersji programu Visual C++ lub dla innych zainstalowanych wersji.Na przykład jeśli zainstalowano program Visual C++ w programie Visual Studio 2012, aby określić zestaw narzędzi programu Visual C++ 11.0 dla systemu Windows XP, dodaj następujący element właściwości grupy do pliku projektu Myproject.vcxproj po elemencie <Import /> pliku Microsoft.Cpp.props:

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

Aby odbudować projektu za pomocą zestawu narzędzi 11.0 Windows XP Visual C++, wpisz jedno z następujących poleceń:

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

msbuild myproject.vcxproj /t:rebuild

Dodawanie dostosowań programu MSBuild

MSBuild zawiera różne sposoby dostosowywania procesu kompilacji.W poniższych tematach omówiono sposób dodawania kroków kompilacji niestandardowej, narzędzi i zdarzeń do projektu MSBuild: