Derleyici ve derleme özelliklerini ayarlama

IDE'de, özellikler proje oluşturmak için gereken bilgileri kullanıma sunar. Bu bilgiler uygulama adını, uzantısını (DLL, LIB, EXE gibi), derleyici seçeneklerini, bağlayıcı seçeneklerini, hata ayıklayıcı ayarlarını, özel derleme adımlarını ve diğer birçok şeyi içerir. Genellikle bu özellikleri görüntülemek ve değiştirmek için özellik sayfalarını kullanırsınız. Özellik sayfalarına erişmek için ana menüden Proje>proje adı Özellikleri'ni seçin veya Çözüm Gezgini proje düğümüne sağ tıklayıp Özellikler'i seçin.

Varsayılan özellikler

Bir proje oluşturduğunuzda, sistem çeşitli özellikler için değerler atar. Varsayılan değerler, proje türüne ve uygulama sihirbazında hangi seçenekleri belirlediğinize bağlı olarak değişir. Örneğin, ATL projesinin MIDL dosyalarıyla ilgili özellikleri vardır, ancak bu özellikler temel konsol uygulamasında yoktur. Varsayılan özellikler, Özellik Sayfaları'nın Genel bölmesinde gösterilir:

Visual Studio proje özellikleri iletişim kutusunun ekran görüntüsü.

Genel sayfası açık. Proje Varsayılanları bölümü vurgulanır. Bu bölümde Yapılandırma Türü Uygulama (.exe) olarak ayarlanmıştır, Standart Windows kitaplıklarını kullan olarak ayarlanmış MFC kullanımı, Karakter kümesi Unicode, Ortak Dil Çalışma Zamanı Desteği Ortak Dil Çalışma Zamanı Desteği Yok, Tüm Program iyileştirmesi Tüm Program İyileştirmesi Yok ve Windows Mağazası APP desteği Hayır olarak ayarlanmıştır.

Derleme yapılandırmalarına ve hedef platformlara özellikler uygulama

Uygulama adı gibi bazı özellikler, hata ayıklama veya sürüm derlemesi olsun, tüm derleme varyasyonlarına ve hedef platformlara uygulanır. Ancak çoğu özellik yapılandırmaya bağımlıdır. Doğru kodu oluşturmak için derleyicinin hem programın çalıştığı belirli platformu hem de kullanılacak belirli derleyici seçeneklerini bilmesi gerekir. Bu nedenle bir özellik ayarladığınızda, yeni değerin hangi yapılandırmaya ve platforma uygulanması gerektiğine dikkat etmek önemlidir. Yalnızca Win32 derlemelerinde hata ayıklama için mi yoksa ARM64 hatalarını ayıklama ve x64 hatalarını ayıklama için de mi geçerli olmalıdır? Örneğin, Optimization özelliği varsayılan olarak Bir Yayın yapılandırmasında En Üst Düzeye Çıkarma Hızı (/O2) olarak ayarlanır, ancak Hata Ayıklama yapılandırmasında devre dışı bırakılır.

Bir özellik değerinin geçerli olması gereken yapılandırmayı ve platformu istediğiniz zaman görebilir ve değiştirebilirsiniz. Aşağıdaki çizimde, üst kısımda yapılandırma ve platform bilgileri denetimleri bulunan özellik sayfaları gösterilmektedir. İyileştirme özelliği burada ayarlandığında, kırmızı oklarda gösterildiği gibi yalnızca etkin olan Win32 derlemelerinde hata ayıklama için geçerlidir.

Visual Studio Özellik Sayfaları iletişim kutusunun ekran görüntüsü.

Sayfa C/C++, İyileştirme'ye açıktır. İyileştirme ayarı Devre Dışı (/Od) olarak ayarlanır ve bu ayar öne çıkar. Ok, proje özellik sayfasındaki Etkin(Hata Ayıkla) olarak ayarlanmış Yapılandırma ayarı ile araç çubuğundaki Hata Ayıklama olarak ayarlanmış Çözüm yapılandırması açılan menüsündeki ayar arasındaki ilişkiyi çağırır. Başka bir ok, etkin (Win32) olarak ayarlanmış proje özellik sayfasındaki Platform ayarı ile araç çubuğundaki çözümler platformu açılan listesinde bulunan ve x86 olarak ayarlanmış olan ayar arasındaki ilişkiyi çağırır.

Aşağıdaki çizimde aynı proje özellik sayfası gösterilmektedir, ancak yapılandırma Yayın olarak değiştirilmiştir. optimization özelliği için farklı bir değere dikkat edin. Ayrıca etkin yapılandırmanın hala Hata Ayıkla olduğunu unutmayın. Burada herhangi bir yapılandırmanın özelliklerini ayarlayabilirsiniz; etkin olması gerekmez.

Visual Studio projesi Özellik Sayfaları iletişim kutusunun ekran görüntüsü. Yapılandırma açılan listesi çağrılır ve Yayın olarak ayarlanır. C/C++ > İyileştirme İyileştirme > ayarı, Hızı En Üst Düzeye Çıkar (/O2) olarak ayarlanır.

Hedef platformlar

Hedef platform , yürütülebilir dosyanın üzerinde çalıştırılacağı cihaz ve işletim sistemi türünü ifade eder. Birden fazla platform için proje oluşturabilirsiniz. C++ projeleri için kullanılabilir hedef platformlar, proje türüne bağlıdır. Bunlar Win32, x64, ARM, ARM64, Android ve iOS içerir ancak bunlarla sınırlı değildir. Configuration Manager'da görebileceğiniz x86 hedef platformu, yerel C++ projelerindeki Win32 ile aynıdır. Win32, 32 bit Windows, x64 ise 64 bit Windows anlamına gelir. Bu iki platform hakkında daha fazla bilgi için bkz . 32 bit uygulamaları çalıştırma.

Configuration Manager'da görebileceğiniz Herhangi bir CPU hedef platformu değerinin yerel C++ projeleri üzerinde hiçbir etkisi yoktur. Yalnızca C++/CLI ve diğer .NET proje türleri için geçerlidir. Daha fazla bilgi için bkz. /CLRIMAGETYPE (CLR Görüntüsünün Türünü Belirtme).

Hata ayıklama derlemesi için özellikleri ayarlama hakkında daha fazla bilgi için bkz:

C++ derleyici ve bağlayıcı seçenekleri

C++ derleyicisi ve bağlayıcı seçenekleri, yapılandırma özellikleri'nin altındaki sol bölmedeki C/C++ ve Bağlayıcı düğümlerinin altında bulunur. Bu seçenekler doğrudan derleyiciye geçirilen komut satırı seçeneklerine çevrilir. Belirli bir seçenekle ilgili belgeleri okumak için orta bölmedeki seçeneği belirleyin ve F1 tuşuna basın. İsterseniz, MSVC derleyici seçenekleri ve MSVC bağlayıcı seçeneklerindeki tüm seçeneklerin belgelerine göz atabilirsiniz.

Özellik Sayfaları iletişim kutusu yalnızca geçerli projeyle ilgili özellik sayfalarını gösterir. Örneğin, projede dosya .idl yoksa MIDL özellik sayfası görüntülenmez. Her özellik sayfasındaki ayarlar hakkında daha fazla bilgi için bkz . Özellik Sayfaları (C++).

Dizin ve yol değerleri

MSBuild, makro olarak adlandırılan dizinleri ve yolları dahil etme gibi belirli dize değerleri için derleme zamanı sabitlerinin kullanımını destekler. Makro, Visual Studio veya MSBuild sistemi tarafından tanımlanan bir değere veya kullanıcı tanımlı bir değere başvurabilir. Makrolar veya %(item-macro-name)gibi $(macro-name) görünür. Bunlar özellik sayfalarında kullanıma sunulur ve burada Özellik Düzenleyicisi'ni kullanarak bunlara başvurabilir ve bunları değiştirebilirsiniz. Dizin yolları gibi sabit kodlanmış değerler yerine makroları kullanın. Makrolar, özellikler ayarlarını makineler arasında ve Visual Studio sürümleri arasında paylaşmayı kolaylaştırır. Ayrıca, proje ayarlarınızın özellik devralma özelliğine doğru şekilde katıldığından daha iyi emin olabilirsiniz.

Aşağıdaki çizimde Visual Studio C++ projesinin özellik sayfaları gösterilmektedir. Sol bölmede VC++ Dizinlerikuralı seçilidir ve sağ bölmede bu kuralla ilişkili özellikler listelenir. Özellik değerleri genellikle gibi $(VC_SourcePath)makrolardır:

Çeşitli dizinlere yönelik kurallar için Visual Studio Özellik Sayfaları iletişim kutusunun ekran görüntüsü.

VC++ Dizinleri kurallarının özelliklerine sahip olan VC artı Dizinler sayfası açıktır. Örnek kural, $(VC_SourcePath) olarak ayarlanan Kaynak dizinleridir. Ekleme dizinleri, kitaplık dizinleri, yürütülebilir dizinler vb. için kurallar vardır.

Kullanılabilir tüm makroların değerlerini görüntülemek için Özellik Düzenleyicisi'ni kullanabilirsiniz.

Önceden tanımlanmış makrolar

  • Genel makrolar:
    Genel makrolar proje yapılandırmasındaki tüm öğelere uygulanır. Genel makronun söz dizimi $(name)vardır. Genel makro örneği, Visual Studio yüklemenizin kök dizinini depolayan makrodur $(VCInstallDir). Genel makro, MSBuild içindeki öğesine PropertyGroup karşılık gelir.

  • Öğe makroları
    Öğe makrolarının söz dizimi %(name)vardır. Bir dosya için, öğe makroları yalnızca bu dosyaya uygulanır; örneğin, yalnızca belirli bir dosya için geçerli olan ekleme dizinlerini belirtmek için kullanabilirsiniz %(AdditionalIncludeDirectories) . Bu tür öğe makroları MSBuild'deki bir ItemGroup meta veriye karşılık gelir. Bir proje yapılandırması bağlamında kullanıldığında, bir öğe makro belirli bir türdeki tüm dosyalara uygulanır. Örneğin, C/C++ Önişlemci Tanımları yapılandırma özelliği, projedeki tüm .cpp dosyalarına uygulanan bir %(PreprocessorDefinitions) öğe makrosunu alabilir. Bu tür öğe makroları MSBuild'deki bir ItemDefinitionGroup meta veriye karşılık gelir. Daha fazla bilgi için bkz . Öğe Tanımları.

Kullanıcı tanımlı makrolar

Proje derlemelerinde değişken olarak kullanmak için kullanıcı tanımlı makrolar oluşturabilirsiniz. Örneğin, bir özel yapı adımına veya özel yapı aracına değer sağlayan kullanıcı tanımlı bir makro oluşturabilirsiniz. Kullanıcı tanımlı makro bir ad/değer çiftidir. Proje dosyasında, değere $(name) erişmek için gösterimini kullanın.

Kullanıcı tanımlı makrolar bir özellik sayfasında depolanır. Projeniz henüz bir özellik sayfası içermiyorsa, Visual Studio proje ayarlarını paylaşma veya yeniden kullanma altındaki adımları izleyerek bir tane oluşturabilirsiniz.

Kullanıcı tanımlı makro oluşturmak için

  1. Özellik Yöneticisi penceresini açın. (Menü çubuğunda Özellik Yöneticisini Görüntüle>veya Diğer Windows>Özellik Yöneticisini Görüntüle>.) Özellik sayfasının kısayol menüsünü açın (adı ile biter) ve ardından Özellikler'i .userseçin. Bu özellik sayfasının Özellik Sayfaları iletişim kutusu açılır.

  2. İletişim kutusunun sol bölmesinde Kullanıcı Makroları'nı seçin. Sağ bölmede Makro Ekle düğmesini seçerek Kullanıcı Makrou Ekle iletişim kutusunu açın.

  3. İletişim kutusunda, makro için bir ad ve değer belirtin. İsteğe bağlı olarak, Derleme ortamında bu makroyu ortam değişkeni olarak ayarla onay kutusunu seçin.

Özellik Düzenleyicisi

Belirli dize özelliklerini değiştirmek ve makroları değer olarak seçmek için Özellik Düzenleyicisi'ni kullanabilirsiniz. Özellik Düzenleyicisi'ne erişmek için, özellik sayfasında bir özellik seçin ve sonra sağdaki aşağı ok düğmesini seçin. Açılan listede Düzenle> varsa<, bu özelliğin Özellik Düzenleyicisi'ni görüntülemek için listeyi seçebilirsiniz.

VC artı Dizinler için Visual Studio proje özellikleri sayfasının ekran görüntüsü.

Dizin ekle ayarının Özellik Düzenleyicisi açık. Dahil Dizinleri için C:\Program Files(x86)\Microsoft Visual Studio 14.0\VC\Include olan değerlendirilen değeri gösterir. Devralınan iki değeri gösterir: $(VC_IncludePath) ve $(WindowsSDK_IncludePath). 'Üst öğeden veya proje varsayılanlarından devral' onay kutusu seçilidir.

Özellik Düzenleyicisi'nde, kullanılabilir makroları ve bunların geçerli değerlerini görüntülemek için Makrolar düğmesini seçebilirsiniz. Aşağıdaki çizimde, Makrolar düğmesi seçildikten sonra Ek Ekleme Dizinleri özelliğinin Özellik Düzenleyicisi gösterilmektedir. Üst öğeden veya proje varsayılanlarından devral onay kutusu seçiliyse ve yeni bir değer eklediğinizde, devralınan tüm değerlere eklenir. Onay kutusunun işaretini kaldırırsanız, yeni değeriniz devralınan değerlerin yerini alır. Çoğu durumda, onay kutusunu seçili bırakın.

Makrolar düğmesini seçtikten sonra Özellik Düzenleyicisi iletişim kutusunun ekran görüntüsü.

Dizinleri Dahil Et özelliği düzenleyicisi açık. Değerlendirilen değer, devralınan değerlerle birlikte görüntülenir. Liste kutusu, Unicode olarak ayarlanmış $(CharacterSet) gibi çeşitli makroları ve bunların değerlerini içerir.

Varsayılan dizin kümesine ekleme dizini ekleme

Projeye ekleme dizini eklediğinizde, tüm varsayılan dizinleri geçersiz kılmamak önemlidir. Dizin eklemenin doğru yolu, "" gibiC:\MyNewIncludeDir\ yeni yolu eklemek ve ardından makroyu $(IncludePath) özellik değerine eklemektir.

Tüm özelliklere hızla göz atma ve arama

Tüm Seçenekler özellik sayfası (Özellik Sayfaları iletişim kutusundaki Yapılandırma Özellikleri>C/C++ düğümü altında), geçerli bağlamda kullanılabilen özelliklere göz atmak ve bunları aramak için hızlı bir yol sağlar. Özel bir arama kutusu ve sonuçlara filtre uygulamanıza yardımcı olacak basit bir sözdizimi vardır:

Önek yok:
Yalnızca özellik adlarında arayın (büyük/küçük harf duyarsız alt dize).

'/' veya '-':
Yalnızca derleyici anahtarlarında arayın (büyük/küçük harf duyarsız önek)

v:
Yalnızca değerlerde arayın (büyük/küçük harf duyarsız alt dize).

Derleme için ortam değişkenlerini ayarlama

MSVC derleyicisi (cl.exe), özellikle LIB, LIBPATH, PATHve INCLUDEgibi belirli ortam değişkenlerini tanır. IDE ile derleme yaptığınızda, bu ortam değişkenlerini ayarlamak için VC++ Dizinleri Özellik Sayfasında ayarlanan özellikler kullanılır. , LIBPATHve INCLUDE değerleri, örneğin Geliştirici Komut İstemi tarafından zaten ayarlanmışsaLIB, bunlar ilgili MSBuild özelliklerinin değerleriyle değiştirilir. Derleme daha sonra VC++ Dizinleri yürütülebilir dizinleri özelliğinin değerini öğesine ekler PATH. Kullanıcı tanımlı bir makro oluşturup bu makroyu derleme ortamında ortam değişkeni olarak ayarla yazan kutuyu işaretleyerek kullanıcı tanımlı bir ortam değişkeni ayarlayabilirsiniz.

Hata ayıklama oturumu için ortam değişkenlerini ayarlama

Projenin Özellik Sayfaları iletişim kutusunun sol bölmesinde Yapılandırma Özellikleri'ni genişletin ve hata ayıklama'yı seçin.

Sağ bölmede Ortam veya Birleştirme Ortamı proje ayarlarını değiştirin ve ardından Tamam düğmesini seçin.

Bu bölümde

Visual Studio projelerinin ayarlarını paylaşma veya yeniden kullanma
Paylaşılabilen veya yeniden kullanılabilen özel derleme ayarlarına sahip bir .props dosya oluşturma.

Proje özelliği devralma
Derleme işlemindeki .props, , .targets.vcxproj dosyaları ve ortam değişkenleri için değerlendirme sırasını açıklar.

Proje dosyasını değiştirmeden özellikleri ve hedefleri değiştirme
Proje dosyasını değiştirmek zorunda kalmadan geçici derleme ayarları oluşturma.

Ayrıca bkz.

Visual Studio Projeleri - C++
.vcxproj ve .props dosya yapısı
Özellik sayfası XML dosyaları