Автоматическое включение страниц свойств Visual Studio

Для упрощения предположим, что у меня есть ситуация, когда я написал две библиотеки, 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