Aracılığıyla paylaş


İzlenecek yol: Visual C++ Projesi Oluşturmak için MSBuild Kullanma

Bu izlenecek yolda bir komut satırında bir Visual C++ projesi oluşturmak için MSBuild nasıl kullanılacağı gösterilmiştir.Visual C++ konsol uygulaması için C++ kaynak dosyalarını ve XML tabanlı proje dosyasını oluşturmayı öğreneceksiniz.Proje oluşturulduktan sonra yapı işleminin nasıl özelleştirileceğini öğreneceksiniz.

Bu izlenecek yol aşağıdaki görevleri gösterir:

  • Projeniz için C++ kaynak dosyaları oluşturma.

  • XML MSBuild proje dosyası oluşturma.

  • Projenizi yapılandırmak için MSBuild kullanma.

  • Projenizi özelleştirmek için MSBuild kullanma.

Önkoşullar

Bu yönergeyi tamamlamak için aşağıdakilere ihtiyacınız vardır:

  • Visual Studio 2013

  • MSBuild sistemine ilişkin genel yaklaşım.

C++ Kaynak Dosyaları Oluşturma

Bu izlenecek yolda kaynak dosyası ve üstbilgi dosyası içeren bir proje oluşturursunuz.Kaynak dosyasının main.cpp öğesi konsol uygulamasının ana işlevini içerir.Üstbilgi dosyası main.h, iostream üstbilgi dosyasını eklemek için kod içerir.Visual Studio veya bir metin düzenleyicisi kullanarak bu C++ dosyaları oluşturabilirsiniz.

Projenize ilişkin C++ kaynak dosyaları oluşturmak için

  1. Projeniz için bir dizin oluşturun.

  2. main.cpp olarak adlandırılan bir dosya oluşturun ve bu dosyaya aşağıdaki kodu ekleyin:

    // main.cpp : the application source code.
    #include <iostream>
    #include "main.h"
    int main()
    {
       std::cout << "Hello, from MSBuild!\n";
       return 0;
    }
    
  3. main.h olarak adlandırılan bir dosya oluşturun ve bu dosyaya aşağıdaki kodu ekleyin:

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

XML MSBuild Proje Dosyası Oluşturma

MSBuild proje dosyası, proje kök öğesi içeren XML dosyasıdır (<Project>).Aşağıdaki örnek proje içinde <Proje> öğesi yedi alt öğe içerir:

  • Proje yapılandırması ve platformu, kaynak dosya adı ve üstbilgi dosyası adını belirten üç öğe grubu etiketi (<ItemGroup>).

  • Microsoft Visual C++ ayarlarının konumunu belirten üç içe aktarma etiketi (<İçe Aktar>).

  • Proje ayarlarını belirten özellik grubu etiketi (<PropertyGroup>).

MSBuild proje dosyası oluşturmak için

  1. myproject.vcxproj adıyla bir proje dosyası oluşturmak için metin düzenleyici kullanın ve aşağıdaki kök <proje> öğesini ekleyin.Aşağıdaki yordam adımlarının kök <Project> etiketleri arasına öğe ekleyin:

    <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
    </Project>
    
  2. <ItemGroup> öğesine aşağıdaki iki <ProjectConfiguration> alt öğeyi ekleyin.Alt öğe bir 32-bit Windows işletim sistemi için hata ayıklamayı ve sürüm yapılandırmalarını belirtir:

      <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. Bu proje için varsayılan C++ ayarları yolunu belirleyen şu <Import/> öğesini ekleyin:

      <Import Project="$(VCTargetsPath)\Microsoft.Cpp.default.props" />
    
  4. İki proje özelliğini belirten aşağıdaki özellik grubu öğesi (<PropertyGroup>) ekleyin:

      <PropertyGroup>
        <ConfigurationType>Application</ConfigurationType>
        <PlatformToolset>v120</PlatformToolset>
      </PropertyGroup>
    
  5. Bu proje için geçerli C++ ayarları yolunu belirleyen şu <Import/> öğesini ekleyin:

      <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
    
  6. <ItemGroup> öğesindeki şu <ClCompile> alt öğesini ekleyin.Alt öğe, derlenecek C/C++ kaynak dosyasının adını belirtir:

      <ItemGroup>
        <ClCompile Include="main.cpp" />
      </ItemGroup>
    
  7. <ItemGroup> öğesindeki şu <ClInclude> alt öğesini ekleyin.Alt öğe, C/C++ kaynak dosyası için üstbilgi dosyasının adını belirtir:

      <ItemGroup>
        <ClInclude Include="main.h" />
      </ItemGroup>
    
  8. Bu proje için hedefi belirleyen dosya yolunu belirten şu <Import> öğesini ekleyin:

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

Tam Proje Dosyası

Aşağıdaki kod, önceki yordamda oluşturduğunuz proje dosyasının tümünü gösterir.

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

Projenizi Oluşturmak için MSBuild Kullanma

Komut isteminde konsol uygulamanızı oluşturmak için aşağıdaki komutu yazın.

msbuild myproject.vcxproj /p:configuration=debug

MSBuild, Myproject.exe programını oluşturmak için çıktı dosyaları için bir dizin oluşturup derler ve projenize bağlantı kurar.Yapı işlemi tamamlandıktan sonra uygulamayı çalıştırmak için aşağıdaki komutu kullanın:

myproject

Uygulama konsol penceresi içinde "MSBuild'dan, Merhaba!" görüntülemelidir.

Projenizi Özelleştirme

MSBuild, önceden tanımlanmış bir yapı hedefleri yürütmenizi, kullanıcı tanımlı özellikler uygulamanızı ve olayları, özel araçlarını kullanmanızı ve adımları oluşturmanızı sağlar.Bu bölüm aşağıdaki görevleri gösterir:

  • Yapı hedefleriyle MSBuild kullanma

  • Yapı özellikleriyle MSBuild kullanma

  • 64 bit derleyici ve araçlarla MSBuild kullanma

  • Farklı araç takımıyla MSBuild kullanma.

  • MSBuild özelleştirmeleri ekleme.

Yapı Hedefleriyle MSBuild Kullanma

Derleme hedefi, derleme sırasında yürütülebilecek önceden tanımlı veya kullanıcı tanımlı komutları kümesi olarak adlandırılır.Yapı hedefi belirtmek için hedef komut satırı seçeneğini kullanın (/t).myproject örnek projesi durumunda, önceden tanımlanmış clean hedefi hata ayıklama klasöründeki tüm dosyaları siler ve yeni bir günlük dosyası oluşturur.

Komut satırında, temizlemek için aşağıdaki komutu yazın myproject.

msbuild myproject.vcxproj /t:clean

Yapı Özellikleriyle MSBuild Kullanma

Özellik komut satırı seçeneği (/p), proje yapı dosyanızda bir özelliği geçersiz kılmanıza olanak sağlar.myproject örnek projesinde, yayınlama veya hata ayıklama derleme yapılandırması Configuration özelliği tarafından belirtilir.Ve oluşturulan uygulamayı çalıştırmayı amaçlayan işletim sistemi, Platform özelliği tarafından belirtilir.

Komut isteminde 32 bit Windows üzerinde çalışma üzere tasarlanan myproject uygulamasının hata ayıklama yapısını oluşturmak için aşağıdaki komutu yazın.

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

myproject örnek projesinin 64 bit Windows için bir yapılandırmayı ve myplatform olarak adlandırılan özel işletim sistemi için başka bir yapılandırmayı da tanımladığı varsayılır.

Komut isteminde 64 bit Windows çalıştıran sürüm yapılandırması oluşturmak için aşağıdaki komutu yazın.

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

Komut isteminde myplatform için sürüm yapılandırması oluşturmak için aşağıdaki komutu yazın.

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

64 bit Derleyici ve Araçlarla MSBuild Kullanma

64 bit Windows sürümüne Visual C++ yüklediyseniz, varsayılan olarak, 64 bit x64 yerel ve çapraz araçlar yüklenir.MSBuild özelliğini, uygulamanızı oluşturmak üzere 64 bit derleyici ve araçları kullanmak için PreferredToolArchitecture olarak ayarlayarak yapılandırabilirsiniz.Bu özellik, proje yapılandırmasını veya platform özelliklerini etkilemez.Varsayılan olarak araçların 32 bit sürümü kullanılır.Derleyicinin 64 bit sürümünü ve araçlarını belirtmek için aşağıdaki özellik grubu öğesini Myproject.vcxproj proje dosyasına, Microsoft.Cpp.default.props <İçeri Aktar/> öğesinin arkasına ekleyin: 

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

Komut isteminde uygulamanızı oluşturmak üzere 64 bit araçlar kullanmak için aşağıdaki komutu girin.

msbuild myproject.vcxproj /p:PreferredToolArchitecture=x64

Farklı Araç Takımıyla MSBuild Kullanma

Visual C++ diğer sürümleri için araç kümeleri ve kitaplıklar yüklüyse, MSBuild geçerli Visual C++ sürümü veya diğer yüklü sürümler için uygulama oluşturabilir.Örneğin Visual Studio 2012'te Visual C++ yüklediyseniz, Windows XP'nin Visual C++ 11.0 araç setini belirtmek için aşağıdaki özellik grubu öğesini, Microsoft.Cpp.props <Import /> öğesinden sonra Myproject.vcxproj proje dosyasına ekleyin:

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

Projenizi Visual C++ 11.0 Windows XP araç takımıyla yeniden oluşturmak için aşağıdaki komutlardan birini yazın:

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

msbuild myproject.vcxproj /t:rebuild

MSBuild özelleştirmeleri ekleme

MSBuild, yapı işleminizi özelleştirmek için çeşitli yollar sağlar.Aşağıdaki konularda, MSBuild projenize özel yapı adımları, araçları ve olaylarının nasıl ekleneceği gösterilmektedir: