Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuzda, Visual Studio C++ projesi oluşturmak için komut isteminde MSBuild'in nasıl kullanılacağı gösterilmektedir. Visual C++ konsol uygulaması için XML tabanlı .vcxproj
proje dosyası oluşturmayı öğreneceksiniz. Projeyi derledikten sonra derleme işlemini özelleştirmeyi öğreneceksiniz.
Önemli
Proje dosyasını daha sonra Visual Studio IDE kullanarak düzenlemek istiyorsanız bu yaklaşımı kullanmayın. El ile bir .vcxproj
dosya oluşturursanız, özellikle proje proje öğelerinde joker karakterler kullanıyorsa Visual Studio IDE dosyayı düzenleyemeyebilir veya yükleyemeyebilir. Daha fazla bilgi için .vcxproj
ve .props
dosya yapısı ile .vcxproj
dosyalar ve joker karakterler konularına bakın.
Bu kılavuzda şu görevler gösterilmektedir:
- Projeniz için C++ kaynak dosyalarını oluşturma.
- XML MSBuild proje dosyası oluşturuluyor.
- Projenizi oluşturmak için MSBuild kullanma.
- Projenizi özelleştirmek için MSBuild kullanma.
Önkoşullar
Bu kılavuzu tamamlamak için bu önkoşullara ihtiyacınız vardır:
- C++ için Masaüstü geliştirme iş yükü yüklü olan Visual Studio'nun bir kopyası.
- MSBuild sistemi hakkında genel bir anlayış.
Not
Alt düzey derleme yönergelerinin çoğu, .targets
ve .props
dosyalarında yer alır ve bunlar, $(VCTargetsPath)
özelliğinde depolanan varsayılan hedefler klasörünün altında tanımlanmıştır. gibi Microsoft.Cpp.Common.props
dosyaları burada bulabilirsiniz. Visual Studio 2015 ve önceki sürümlerde bu dosyalar için varsayılan yol altındadır %ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\<version>\
.
Not
Alt düzey derleme yönergelerinin çoğu, .targets
ve .props
dosyalarında yer alır ve bunlar, $(VCTargetsPath)
özelliğinde depolanan varsayılan hedefler klasörünün altında tanımlanmıştır. gibi Microsoft.Cpp.Common.props
dosyaları burada bulabilirsiniz. Visual Studio 2017'de bu dosyaların varsayılan yolu altındadır %VSINSTALLDIR%Common7\IDE\VC\VCTargets\
. Visual Studio 2015 ve önceki sürümler %ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\<version>\
altında depoladı.
Not
Alt düzey derleme yönergelerinin çoğu, .targets
ve .props
dosyalarında yer alır ve bunlar, $(VCTargetsPath)
özelliğinde depolanan varsayılan hedefler klasörünün altında tanımlanmıştır. gibi Microsoft.Cpp.Common.props
dosyaları burada bulabilirsiniz. Bu dosyaların varsayılan yolu %VSINSTALLDIR%MSBuild\Microsoft\VC\<version>\
altındadır.
<version>
path öğesi Visual Studio sürümüne özgüdür.
v160
Visual Studio 2019 içindir. Visual Studio 2017 bu dosyaları altında %VSINSTALLDIR%Common7\IDE\VC\VCTargets\
depoladı. Visual Studio 2015 ve önceki sürümler %ProgramFiles(x86)%\MSBuild\Microsoft.Cpp\v4.0\<version>\
altında depoladı.
C++ kaynak dosyalarını oluşturma
Bu kılavuzda, kaynak dosyası ve üst bilgi dosyası içeren bir proje oluşturacaksınız. Kaynak dosya main.cpp
, konsol uygulamasının işlevini içerir main
. Header dosyası main.h
, <iostream>
dosyasını dahil etmek için kod içerir. Visual Studio'yu veya Visual Studio Code gibi bir metin düzenleyicisini kullanarak bu C++ dosyalarını oluşturabilirsiniz.
Projeniz için C++ kaynak dosyalarını oluşturmak için
Projeniz için bir klasör oluşturun.
adlı
main.cpp
bir dosya oluşturun ve bu kodu dosyaya ekleyin:// main.cpp : the application source code. #include <iostream> #include "main.h" int main() { std::cout << "Hello, from MSBuild!\n"; return 0; }
adlı
main.h
bir dosya oluşturun ve bu kodu dosyaya ekleyin:// main.h: the application header code. /* Additional source code to include. */
XML MSBuild Proje Dosyasını Oluşturma
MSBuild proje dosyası, proje kök öğesi (<Project>
) içeren bir XML dosyasıdır. Oluşturabileceğiniz örnek projede <Project>
, öğesi yedi alt öğe içerir:
- Proje yapılandırması ve platformu, kaynak dosya adı ve üst bilgi dosyası adını belirten üç öğe grubu etiketi (
<ItemGroup>
). - Microsoft Visual C++ ayarlarının konumunu belirten üç içeri aktarma etiketi (
<Import>
). - Proje ayarlarını belirten özellik grubu etiketi (
<PropertyGroup>
).
MSBuild proje dosyasını oluşturmak için
adlı
myproject.vcxproj
bir proje dosyası oluşturmak için bir metin düzenleyicisi kullanın ve burada gösterilen kök<Project>
öğeyi ekleyin. (Visual Studio 2015 kullanıyorsanız,ToolsVersion="14.0"
Visual Studio 2017 kullanıyorsanız,ToolsVersion="15.0"
Visual Studio 2019 kullanıyorsanız veyaToolsVersion="16.0"
Visual Studio 2022 kullanıyorsanız kullanınToolsVersion="17.0"
.)<Project DefaultTargets="Build" ToolsVersion="17.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> </Project>
Sonraki yordam adımlarındaki öğeleri kök
<Project>
etiketler arasına ekleyin.Bu iki
<ProjectConfiguration>
alt öğeyi bir<ItemGroup>
öğeye ekleyin. Alt öğe, 32 bit Windows işletim sistemi için hata ayıklama 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ının yolunu belirten bir
<Import>
öğe ekleyin:<Import Project="$(VCTargetsPath)\Microsoft.Cpp.default.props" />
Bir özellik grubu öğesi (
<PropertyGroup>
) ekleyin; bu,<ConfigurationType>
ve<PlatformToolset>
olmak üzere iki proje özelliğini belirtir. (Visual Studio 2015 kullanıyorsanızv140
değeri olarak<PlatformToolset>
kullanın,v141
Visual Studio 2017 kullanıyorsanızv142
Visual Studio 2019 kullanıyorsanız veya Visual Studio 2022 kullanıyorsanızv143
.)<PropertyGroup> <ConfigurationType>Application</ConfigurationType> <PlatformToolset>v143</PlatformToolset> </PropertyGroup>
Bu proje için geçerli C++ ayarlarının yolunu belirten bir
<Import>
öğe ekleyin:<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
Bir
<ClCompile>
öğeye<ItemGroup>
bir alt öğe ekleyin. Alt öğe derlenecek C/C++ kaynak dosyasının adını belirtir:<ItemGroup> <ClCompile Include="main.cpp" /> </ItemGroup>
Not
<ClCompile>
bir derleme hedefidir ve varsayılan hedefler klasöründe tanımlanır.Bir
<ClInclude>
öğeye<ItemGroup>
bir alt öğe ekleyin. Alt öğe, C/C++ kaynak dosyasının üst bilgi dosyasının adını belirtir:<ItemGroup> <ClInclude Include="main.h" /> </ItemGroup>
Bu proje için hedefi tanımlayan dosyanın yolunu belirten bir
<Import>
öğe ekleyin:<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Targets" />
Proje Dosyasını Tamamla
Bu kod, önceki yordamda oluşturduğunuz proje dosyasının tamamını gösterir. **
(Visual Studio 2017 için ToolsVersion=16.0 for Visual Studio 2019, ToolsVersion="15.0"
, Visual Studio 2015 için ToolsVersion="14.0"
kullanın.)
<Project DefaultTargets="Build" ToolsVersion="17.0" xmlns="http://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>v142</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 Derlemek için MSBuild Kullanma
Konsol uygulamanızı oluşturmak için komut istemine şu komutu girin:
msbuild myproject.vcxproj /p:configuration=debug
MSBuild, çıkış dosyaları için bir klasör oluşturur ve ardından programı oluşturmak Myproject.exe
için projenizi derleyip bağlar. Derleme işlemi tamamlandıktan sonra, uygulamayı hata ayıklama klasöründen çalıştırmak için şu komutu kullanın:
myproject
Uygulamanın konsol penceresinde "Hello, from MSBuild!" ifadesi görüntülenmelidir.
Projenizi Özelleştirme
MSBuild önceden tanımlanmış derleme hedeflerini yürütmenize, kullanıcı tanımlı özellikler uygulamanıza ve özel araçlar, olaylar ve derleme adımları kullanmanıza olanak tanır. Bu bölümde şu görevler gösterilmektedir:
- MSBuild'i derleme hedefleriyle kullanma.
- Derleme özellikleriyle MSBuild kullanma.
- MSBuild'i 64 bit derleyici ve araçlarla kullanma.
- MSBuild'i farklı araç kümeleriyle kullanma.
- MSBuild özelleştirmeleri ekleniyor.
Yapı Hedefleri ile MSBuild Kullanma
Derleme hedefi, derleme sırasında yürütülebilecek önceden tanımlanmış veya kullanıcı tanımlı komutların adlandırılmış bir kümesidir. Derleme hedefi belirtmek için hedef komut satırı seçeneğini (/t
) kullanın. Örnek proje için myproject
, önceden tanımlanmış clean
hedef hata ayıklama klasöründeki tüm dosyaları siler ve yeni bir günlük dosyası oluşturur.
Komut isteminde, temizlemek myproject
için şu komutu girin:
msbuild myproject.vcxproj /t:clean
Derleme Özellikleri ile MSBuild Kullanımı
Özellik komut satırı seçeneği (/p
), proje derleme dosyanızdaki bir özelliği geçersiz kılmanıza olanak tanır. Örnek projede, sürüm veya hata ayıklama derleme yapılandırması myproject
özelliği tarafından belirlenir. Derlenmiş uygulamayı çalıştırmak için kullanacağınız işletim sistemi Platform
özelliğiyle belirtilir.
Komut isteminde, uygulamanın 32 bit Windows üzerinde çalıştırılacak hata ayıklama derlemesini myproject
oluşturmak için şu komutu girin:
msbuild myproject.vcxproj /p:configuration=debug /p:platform=win32
Örnek projenin 64 bit Windows için bir yapılandırma ve adlı myproject
özel bir işletim sistemi için başka bir yapılandırma tanımladığını myplatform
varsayalım.
Komut istemine şu komutu girerek 64 bit Windows üzerinde çalışan bir yayın derlemesi oluşturun:
msbuild myproject.vcxproj /p:configuration=release /p:platform=x64
Komut isteminde, myplatform
için bir yayın derlemesi oluşturmak üzere bu komutu girin:
msbuild myproject.vcxproj /p:configuration=release /p:platform=myplatform
MSBuild'i 64 bit Derleyici ve Araçlarla Kullanma
Visual Studio'yu 64 bit Windows'a yüklediyseniz, 64 bit x64 yerel ve çapraz araçlar varsayılan olarak yüklenir. MSBuild'i, PreferredToolArchitecture
özelliğini ayarlayarak 64 bit derleyici ve araçları kullanacak şekilde uygulamanızı derlemek için 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 ve araçların 64 bit sürümünü belirtmek için bu özellik grubu öğesini dosya Myproject.vcxproj
öğesinden Microsoft.Cpp.default.props
<Import />
sonra proje dosyasına ekleyin:
<PropertyGroup>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
Komut isteminde, uygulamanızı derlemek için 64 bit araçları kullanmak için şu komutu girin:
msbuild myproject.vcxproj /p:PreferredToolArchitecture=x64
MSBuild'i farklı bir araç takımıyla kullanma
Visual C++'ın 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 uygulamalar oluşturabilir. Örneğin, Visual Studio 2012'yi yüklediyseniz, Windows XP için Visual C++ 11.0 araç takımını belirtmek için bu özellik grubu öğesini dosya Myproject.vcxproj
öğesinden Microsoft.Cpp.props
<Import />
sonra proje dosyasına ekleyin:
<PropertyGroup>
<PlatformToolset>v110_xp</PlatformToolset>
</PropertyGroup>
Visual C++ 11.0 Windows XP araç takımıyla projenizi yeniden derlemek için şu komutu girin:
msbuild myproject.vcxproj /p:PlatformToolset=v110_xp /t:rebuild
MSBuild özelleştirmeleri ekleme
MSBuild, derleme işleminizi özelleştirmek için çeşitli yollar sağlar. Bu makalelerde, MSBuild projenize özel derleme adımları, araçları ve olayları ekleme adımları gösterilmektedir:
- Nasıl Yapılır: MSBuild Projelerine Özel Derleme Adımı Ekleme
- Nasıl Yapılır: MSBuild Projelerine Özel Derleme Araçları Ekleme
- Nasıl Yapılır: MSBuild Projelerinde Derleme Olaylarını Kullanma