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