Visual Studio Property Sheets Автоматично включване

За да опростя, да предположим, че имам ситуация, в която съм написал две библиотеки, Lib1 и Lib2. Всяка библиотека има една конфигурация: статична (.lib) версия Win32 (/MD). Всяка библиотека има лист със свойства (include_lib1.props и include_lib2.props, съответно). Лист със свойства за дадена библиотека:

  • Експортира пътя до генерирания .lib под библиотечни директории
  • Експортира пътя до източника на библиотеката под Включване на директории
  • Добавя името на генерирания .lib към входните изисквания на линкера.

Зависимости:

  • Lib1 няма зависимости (т.е. включва само Microsoft.Cpp.Win32.user).
  • Lib2 има една зависимост: Lib1 (т.е. Lib2 включва Microsoft.Cpp.Win32.user и include_lib1.props).

Сега искам да напиша молба. Привидно зависи само от Lib2 – но тъй като Lib2 е създаден с помощта на Lib1, приложението иска и двете Lib1.props и Lib2.props* (т.е. опитва се да се свърже с Lib1.lib и не успява тъй като листът със свойства на Lib1 не е там, за да каже къде да го намерите).

Въпросът ми е: има ли начин да направя така, че когато включа include_lib2.props, автоматично да включва и include_lib1.props--или да направя нещо еквивалентно?


* Това само по себе си е любопитно - библиотеките са изградени с /MD, така че може ли това да е?


person imallett    schedule 07.01.2013    source източник


Отговори (1)


Отговорът изглежда е просто да добавите един лист със свойства в друг. Щракването с десния бутон върху листа със свойства ви позволява да добавите съществуващ.

Това много добре решава проблема по модулен, чист начин. Промененият лист със свойства може да се използва на множество места. Добавянето му към нов проект рекурсивно добавя зависимите листове със свойства, които могат да се видят в страниците със свойства.

person imallett    schedule 22.03.2013