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
Utwórz katalog dla swojego projektu.
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; }
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
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>
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>
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" />
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>
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" />
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>
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>
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: