Genel Özellik Sayfası (Proje)
Bu makale, Windows için Visual Studio projeleri için geçerlidir. Linux projeleri için bkz . Linux C++ Özellik sayfası başvurusu. CMake projeleri için bkz . Visual Studio'da CMake projeleri. Android projeleri için bkz . Genel proje özellikleri (Android C++). Android Derleme dosyası projeleri için bkz . Genel proje özellikleri (Android C++ Derleme dosyası). Visual Studio 2019'da UWP olmayan (Windows Çalışma Zamanı veya Evrensel Windows Platformu) projelerin bazı özellikleri Gelişmiş özellik sayfasına taşındı.
Bir projenin Özellik Sayfaları iletişim kutusunu açmak için, Çözüm Gezgini'da projeyi (çözümü değil) seçin. Ardından, menü çubuğundan Proje>Proje Adı Özellikleri menüsünü seçin. Alternatif olarak, Çözüm Gezgini'da proje düğümüne sağ tıklayıp kısayol menüsünden Özellikler'i seçin.
Özellik Sayfaları iletişim kutusunda, Yapılandırma Özellikleri>Genel özellik sayfası proje türünü temel alan proje özelliklerini görüntüler. Bu özellikler, proje türüne bağlı olarak bir veya iki başlık altında toplanır:
Genel
Proje Varsayılanları
Genel
Genel özellik başlığı şu özelliklerin bir bileşimini içerir:
Hedef Platform
Projenin üzerinde çalıştığı platformu belirtir. Örneğin, Windows, Android veya iOS. Windows 10 değeri, projenin Evrensel Windows Platformu hedeflemektedir. Windows'un diğer sürümlerini hedeflediyseniz, sürüm listelenmez ve bu alandaki değer yalnızca Windows olarak görünür. Bu özellik, proje oluşturduğunuzda ayarlanan salt okunur bir alandır.
Hedef Platform Sürümü
Projeyi derlemek için kullanılan Windows SDK'sının sürümünü belirtir. Bu özellik yalnızca proje türü destekliyorsa görünür. Windows SDK'sının en son sürümünü belirtmek için 10.0'ı seçebilirsiniz. Uygulamanız bu Windows SDK sürümündeki özelliklerden yararlanabiliyorsa ancak bu özellikler olmadan önceki sürümlerde çalışmaya devam edebilirse (belki de biraz işlevsellik kaybıyla), bu özelliğin değeri ve Hedef Platform Min. Sürüm özelliği farklı olabilir. Bu durumda kodunuz çalışma zamanında çalıştırılan platformun sürümünü denetlemeli ve eski platform sürümlerinde bulunmayan özellikleri devre dışı bırakmalıdır.
Hedef Platform Min. Sürüm
Projenin üzerinde çalışabileceği platformun en düşük sürümünü belirtir. Bu özellik yalnızca proje türü destekliyorsa görünür. Uygulamanız daha yeni bir Windows SDK sürümündeki özelliklerden yararlanabiliyorsa ancak yine de işlev kaybıyla birlikte önceki sürümlerde çalışıyorsa bu değeri ayarlayın. Daha düşük bir değere ayarlanırsa kodunuz çalışma zamanında çalıştığı platformun sürümünü denetlemelidir. Ardından, eski platform sürümlerinde bulunmayan özellikleri devre dışı bırakın.
C++ proje sistemi bu seçeneği zorlamaz. C# ve JavaScript gibi diğer dillerle tutarlılık sağlamak için ve projenizi kullanan herkes için bir kılavuz olarak eklenir. En düşük sürümde bulunmayan bir özellik kullanırsanız Microsoft C++ hata oluşturmaz.
Windows SDK Sürümü
Windows hedef platformu için bu özellik, projenizin gerektirdiği Windows SDK sürümünü belirtir. Visual Studio Yükleyicisi bir C++ İş Yükü yüklediğinde, Windows SDK'sının gerekli bölümlerini de yükler. Bilgisayarınızda başka Windows SDK sürümleri varsa, yüklenen her sürüm açılan listede görünür.
Windows SDK 8.1 bu platformlarla geriye dönük olarak uyumlu olduğundan Windows 7 veya Windows Vista'yı hedeflemek için 8.1 değerini kullanın. Önceki bir sürümü hedeflediğinizde, içinde targetver.h
için _WIN32_WINNT
uygun değeri tanımlayın. Windows 7 için bu 0x0601. Daha fazla bilgi için, bkz . WINVER
Değiştirme ve _WIN32_WINNT
.
Windows XP ve Windows 2003 Server projeleri oluşturmak için Visual Studio Yükleyicisi isteğe bağlı bir bileşen olarak dahil edilen Windows XP platform araç takımını yükleyebilirsiniz. Bu platform araç takımını edinme ve kullanma hakkında bilgi için bkz . Windows XP için programları yapılandırma. Platform araç takımını değiştirme hakkında daha fazla bilgi için bkz . Nasıl yapılır: Hedef çerçeveyi ve platform araç takımını değiştirme.
Çıkış Dizini
Bağlayıcı gibi derleme araçlarının derleme işlemi sırasında oluşturulan tüm son çıkış dosyalarını yerleştirdiği dizini belirtir. Bu dizin genellikle bağlayıcı, kitaplıkçı veya BSCMake gibi araçların çıkışını tutar. Varsayılan olarak, bu özellik makro bileşimi $(SolutionDir)$(Configuration)\
tarafından belirtilen dizindir.
Bu özelliğe program aracılığıyla erişmek için bkz OutputDirectory. .
Ara Dizin
Derleyici gibi araçların derleme işlemi sırasında oluşturulan tüm ara dosyaları yerleştirdiği dizini belirtir. Bu dizin genellikle C/C++ derleyicisi, MIDL ve kaynak derleyicisi gibi araçların çıkışını tutar. Varsayılan olarak, bu özellik makro $(Configuration)\
tarafından belirtilen dizindir.
Bu özelliğe program aracılığıyla erişmek için bkz IntermediateDirectory. .
Hedef Adı
Bu projenin oluşturduğu dosya adını belirtir. Varsayılan olarak, bu özellik makro $(ProjectName)
tarafından belirtilen dosya adıdır.
Hedef Uzantı
Bu projenin oluşturduğu veya .dll
gibi .exe
dosya uzantısını belirtir. Bazı Visual Studio 2019 proje türleri için bu özellik Gelişmiş özellik sayfasına taşındı.
Temizlemede Silinecek Uzantılar
Temiz Oluştur>menü komutu, bir projenin yapılandırmasının oluşturulduğu ara dizinden dosyaları siler. Derleme sistemi, Clean komutunu çalıştırdığınızda veya yeniden oluştururken belirtilen uzantılara sahip dosyaları siler. Derleme sistemi, nerede olursa olsun derlemenin bilinen çıkışlarını da siler. Silinen dosyalar, dosyalar gibi .obj
ara çıkışları içerir. Uzantıları ayırmak için noktalı virgül (;
) kullanın. Uzantılarda joker karakterler (*
, ?
) belirtebilirsiniz.
Bu özelliğe program aracılığıyla erişmek için bkz DeleteExtensionsOnClean. . Bazı Visual Studio 2019 proje türleri için bu özellik Gelişmiş özellik sayfasına taşındı.
Derleme Günlük Dosyası
Her proje oluşturduğunuzda oluşturulan günlük dosyası için varsayılan olmayan bir konum belirtmenize olanak tanır. Varsayılan konum, makro bileşimi $(IntDir)$(MSBuildProjectName).log
tarafından belirtilir. Bazı Visual Studio 2019 proje türleri için bu özellik Gelişmiş özellik sayfasına taşındı.
Dizin konumunu değiştirmek için proje makrolarını kullanabilirsiniz. Daha fazla bilgi için bkz . Derleme komutları ve özellikleri için ortak makrolar.
Platform Araç Takımı
Geçerli yapılandırmayı oluşturmak için kullanılan araç takımını belirtir. Bu özellik, projenin Visual C++ kitaplıklarının ve derleyicisinin farklı bir sürümünü hedeflemesine olanak tanır. Varsayılan olarak, Visual Studio C++ projeleri Visual Studio tarafından yüklenen en son araç takımını hedefler. Bunun yerine Visual Studio'nun önceki birkaç sürümü tarafından yüklenen araç kümelerinden birini seçebilirsiniz. Bazı eski araç kümeleri, Windows XP veya Vista üzerinde çalışan yürütülebilir dosyalar oluşturabilir. Platform araç takımını değiştirme hakkında daha fazla bilgi için bkz . Nasıl yapılır: Hedef çerçeveyi ve platform araç takımını değiştirme.
Yönetilen Artımlı Derlemeyi Etkinleştirme
Yönetilen projeler için bu özellik, derlemeler oluştururken dış görünürlüğün algılanması sağlar. Yönetilen projede yapılan bir değişiklik diğer projelere görünmüyorsa, bağımlı projeler yeniden derlenemez. Bu seçenek, yönetilen projeleri içeren çözümlerde derleme sürelerini önemli ölçüde iyileştirebilir. Visual Studio 2019 projelerinde bu özellik Gelişmiş özellik sayfasına taşındı.
Yapılandırma Türü
Proje çıkışını ve gerekli araçlarını belirtir. UWP projelerinde, bu özellik Project Defaults başlığı altında görünür. Proje türünüze bağlı olarak, aralarından seçim yapabileceğiniz birkaç yapılandırma türü vardır:
Uygulama (.exe)
Bağlayıcı araç takımını görüntüler: C/C++ Derleyicisi, MIDL, Kaynak Derleyicisi, Bağlayıcı, BSCMake, XML Web Hizmeti Ara Sunucusu Oluşturucu, özel derleme, ön derleme, ön bağlantı ve postbuild olayları.
Dinamik Kitaplık (.dll)
Bağlayıcı araç takımını görüntüler, bağlayıcı seçeneğini belirtir /DLL
ve ön işlemci tanımını CL komut satırına ekler _WINDLL
.
Makefile
Derleme dosyası araç takımını (NMake) görüntüler.
Statik Kitaplık (.lib)
Kitaplık araç takımını görüntüler. Bağlayıcı araç takımıyla aynıdır, ancak bağlayıcıyı kitaplıkçıyla değiştirir ve XML Web Hizmeti Proxy Oluşturucusunu atlar.
Yardımcı Program
Yardımcı program araç takımını (MIDL, özel derleme, önceden derleme ve postbuild olayları) görüntüler.
Bu özelliğe program aracılığıyla erişmek için bkz ConfigurationType. .
C++ Dil Standardı
Hangi C++ dil standardının kullanılacağını belirtir. Varsayılan değer: /std:c++14
. C++17 özelliklerini kullanmak, /std:c++20
C++20 özelliklerini kullanmak ve /std:c++latest
önerilen C++23 özelliklerini veya diğer deneysel özellikleri kullanmak için belirtin/std:c++17
. Daha fazla bilgi için bkz /std
. (Dil standart sürümünü belirtme).
C Dil Standardı
Hangi C dili standardının kullanılacağını belirtir. Varsayılan değer, C89, bazı C99 ve Microsoft'a özgü uzantıları uygulayan Eski MSVC'dir. C11 özelliklerini kullanmak ve /std:c17
C17 özelliklerini kullanmak için belirtin/std:c11
. Daha fazla bilgi için bkz. /std
(Dil standart sürümünü belirtme)
Proje Varsayılanları
Yapılandırma Türü
Proje çıkışını ve gerekli araçlarını belirtir. UWP projelerinde, bu özellik Project Defaults başlığı altında görünür. Proje türünüze bağlı olarak, aralarından seçim yapabileceğiniz birkaç yapılandırma türü vardır:
Uygulama (.exe)
Bağlayıcı araç takımını görüntüler: C/C++ Derleyicisi, MIDL, Kaynak Derleyicisi, Bağlayıcı, BSCMake, XML Web Hizmeti Ara Sunucusu Oluşturucu, özel derleme, ön derleme, ön bağlantı ve postbuild olayları.
Dinamik Kitaplık (.dll)
Bağlayıcı araç takımını görüntüler, bağlayıcı seçeneğini belirtir /DLL
ve ön işlemci tanımını CL komut satırına ekler _WINDLL
.
Makefile
Derleme dosyası araç takımını (NMake) görüntüler.
Statik Kitaplık (.lib)
Kitaplık araç takımını görüntüler. Bağlayıcı araç takımıyla aynıdır, ancak bağlayıcıyı kitaplıkçıyla değiştirir ve XML Web Hizmeti Proxy Oluşturucusunu atlar.
Yardımcı Program
Yardımcı program araç takımını (MIDL, özel derleme, önceden derleme ve postbuild olayları) görüntüler.
Bu özelliğe program aracılığıyla erişmek için bkz ConfigurationType. .
MFC kullanımı
MFC projesinin MFC DLL'sine statik olarak mı yoksa dinamik olarak mı bağlandığını belirtir. MFC olmayan projeler Standart Windows Kitaplıklarını Kullan'ı seçin. Visual Studio 2019 projelerinde bu özellik Gelişmiş özellik sayfasına taşındı.
Bu özelliğe program aracılığıyla erişmek için bkz useOfMfc. .
Karakter Kümesi
veya _MBCS
önişlemci makrosunun _UNICODE
ayarlanıp ayarlanmayacağını belirtir. Ayrıca, uygun yerlerde bağlayıcı giriş noktasını da etkiler. Visual Studio 2019 projelerinde bu özellik Gelişmiş özellik sayfasına taşındı.
Bu özelliğe program aracılığıyla erişmek için bkz CharacterSet. .
Ortak Dil Çalışma Zamanı desteği
Derleyici seçeneğinin /clr
kullanılmasına neden olur. Visual Studio 2019 projelerinde bu özellik Gelişmiş özellik sayfasına taşındı.
Bu özelliğe program aracılığıyla erişmek için bkz ManagedExtensions. .
.NET Target Framework Sürümü
Yönetilen projelerde hedef eklenecek .NET framework sürümünü belirtir. Visual Studio 2019 projelerinde bu özellik Gelişmiş özellik sayfasına taşındı.
Tüm Program İyileştirme
/GL
Derleyici seçeneğini ve /LTCG
bağlayıcı seçeneğini belirtir. Varsayılan olarak, bu özellik Hata ayıklama yapılandırmaları için devre dışıdır ve Yayın yapılandırmaları için etkinleştirilir. Visual Studio 2019 projelerinde bu özellik Gelişmiş özellik sayfasına taşındı.
Windows Mağazası Uygulama Desteği
Bu projenin Windows Çalışma Zamanı (Evrensel Windows Platformu veya UWP) uygulamalarını destekleyip desteklemediğini belirtir. Daha fazla bilgi için (derleme Windows Çalışma Zamanı) ve Windows Geliştirici UWP belgelerine bakın/ZW
.
Windows Masaüstü Uyumlu
Bu Windows Çalışma Zamanı projesinin çıktısının masaüstü uygulamalarını da desteklemesini sağlar. Bu özellik proje dosyasındaki değeri ayarlar <DesktopCompatible>
. Windows Masaüstü Uyumlu özelliği Visual Studio 2019 sürüm 16.9'dan itibaren kullanılabilir.