SORU
17 AĞUSTOS 2010, Salı


Birden fazla proje için etkin Visual Studio proje özelliklerini kullanarak ve yapılandırmaları

Her zaman Visual Studios projelerimi yapılandırma GUI yerleşik destek, sık sık çeşitli projeler, ortak bir set kullanın, böylece özellik sayfalarını kullanarak kullandım.

Bu benim ana sancı birden fazla proje yapılandırmaları ve platformlarını yönetmek. Sadece ana GUİ ile her şeyi yapmak (proje - ^ sağ tıklatın . özellikleri) bu hızla bir karmaşa, bakımı zor olur ve hatalar (doğru bazı makro tanımlamak için başarısız, ya da yanlış çalışma zamanı Kitaplığı'nı kullanarak, vs gibi) eğilimli. İlgili olması, farklı insan var bağımlılık kütüphanelerde farklı yerlerde (örneğin benim tüm canlı "C:\Libs\[C,C ]\[lib-adı]\") ve daha sonra sık sık yönetmek farklı sürümleri bu kitaplıklar farklı olarak (release, debug, 86, x 64, vb.) olması da büyük bir sorun bu yana büyük ölçüde zorlaştırmaktadır zaman bunu ayarlamak için yeni bir sistem, ve sonra orada sorunları ile sürüm kontrolü ve tutmak herkesin ayrı yollara...

Özellik sayfaları, bu biraz daha iyi, ama yapamıyorum bir sayfası var ayrı ayarlar için farklı yapılandırmaları ve platformları (açılır kutu bir gridir), sonuç olarak bana sahip birçok yaprak olan ise kalıtsal olarak doğru sırada yapmak istediğim ("x 86", "64", "hata ayıklama", "serbest", "ortak", "dizinler" (fırsatlar ile daha önce de belirttiğim bağımlılık sorunu tanımlayarak kullanıcı makroları gibi BoostX86LibDir), vb.) ve eğer yanlış sırayla miras ("" "" "") hata ayıklama kitaplığı hatalı bir sürüm bağlantısı için çalışıyor gibi sorunlara yol açmaktadır, ya da yanlış çıktı... adlandırma . 64 daha önce ortak eg

Benim istediğim bir şekilde ilgili olan tüm bu dağınık bağımlılıkları ve ayarlama kümesi "kurallar" tarafından kullanılan tüm projelerde çözüm gibi adlandırma bir çıkış Kütüphanesi "olarak mylib-[vc90,vc100]-[86,x 64][-d].lib", her bir proje, yapılandırma ve platform kombinasyonu, tüm bu yapmak ve sonra onları tutmak zorunda kalmadan hepsi doğru senkronize.

Haberim hareket tamamen farklı sistemler gibi CMake oluşturmak gerekli dosyaları, ancak bu da işleri zorlaştırıyor başka bir yerde yaparak bu kadar bile basit görevleri gibi ekleyerek yeni bir dosya için proje gerektirir ek değişiklikler başka bir yerde olmayan bir şey ben tamamen mutlu ya, tabii orada bazı VS2010 ile entegrasyon olabilir, takip edin bu tür değişiklikler.

CEVAP
17 AĞUSTOS 2010, Salı


Ben sadece hiç bir şey özellik sayfasını çok daha faydalı olmasına yardımcı olmak için mümkün olduğunu (GUI tarafından gösterilen değil) öğrendim. "Durum" özelliği dosya ve kullanılabilir proje etiketleri birçok özellik .sahne de dosyalar!

Ben sadece bir test olarak bir araya koymak ve o amele büyük ve 5 (x 64,86,hata ayıklama,ortak yayın) görev ayrı özellik sayfaları yaptı!

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Label="UserMacros">
    <!--debug suffix-->
    <DebugSuffix Condition="'$(Configuration)'=='Debug'">-d</DebugSuffix>
    <DebugSuffix Condition="'$(Configuration)'!='Debug'"></DebugSuffix>
    <!--platform-->
    <ShortPlatform Condition="'$(Platform)' == 'Win32'">x86</ShortPlatform>
    <ShortPlatform Condition="'$(Platform)' == 'x64'">x64</ShortPlatform>
    <!--toolset-->
    <Toolset Condition="'$(PlatformToolset)' == 'v90'">vc90</Toolset>
    <Toolset Condition="'$(PlatformToolset)' == 'v100'">vc100</Toolset>
  </PropertyGroup>
  <!--target-->
  <PropertyGroup>
    <TargetName>$(ProjectName)-$(Toolset)-$(ShortPlatform)$(DebugSuffix)</TargetName>
  </PropertyGroup>
</Project>

Tek sorunu GUI cant tanıtıcı özellikleri, yukarıda özellik sayfası kullanan bir proje sadece miras değerleri gibi varsayılan raporları "$(Veritabanı)," hedef için.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BeginnersTech

    BeginnersTec

    8 NİSAN 2011
  • STITCHLESS TV how to sew your own style tutorials

    STITCHLESS T

    9 HAZİRAN 2011
  • wwjoshdo

    wwjoshdo

    25 Mayıs 2009