İ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
Projeniz için bir dizin oluşturun.
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; }
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
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>
<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>
Bu proje için varsayılan C++ ayarları yolunu belirleyen şu <Import/> öğesini ekleyin:
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.default.props" />
İki proje özelliğini belirten aşağıdaki özellik grubu öğesi (<PropertyGroup>) ekleyin:
<PropertyGroup> <ConfigurationType>Application</ConfigurationType> <PlatformToolset>v120</PlatformToolset> </PropertyGroup>
Bu proje için geçerli C++ ayarları yolunu belirleyen şu <Import/> öğesini ekleyin:
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<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>
<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>
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: