Связь нескольких проектов внутри solution
Имеется VS solution с множеством проектов. Они собираются в статические библиотеки .lib, а один(с самим приложением) в .exe(который использует функционал данных проектов-библиотек) - это некая игра. Правильно ли я понимаю, что данный проект(exe) связывается с функционалом проектов статических библиотек через:
- references на эти проекты в Solution Explorer'e;
- ссылки на их выходные библиотеки .lib в инпуте линкера в Additional Dependencies (указанные в проекте библиотеки Output Directory, т.е. которых до компиляции еще нет) . Обязательно ли это делать с учетом указанной ссылки на проект в references?;
- далее включив пути к их заголовочным файлам в Additional Include Directories (и потом непосредственно в своих .h и .cpp файлах). Если не выполнить перед этим 1 и 2 шаги, реализация данных библиотек станет недоступной несмотря на включение их инклюдов? Почему? Ведь библиотек как таковых еще нет(которые включали бы реализацию), но есть только файлы .h и .cpp(которые ее и включают).
Причем данные проекты-библиотеки также используют функционал друг друга и связаны друг с другом через references и Additional Include Directories, но в Librarian в Additional Dependencies ничего нет. Почему важна линковка приложения с будущим .lib файлом (которого пока нет)? Тогда должен быть важен порядок компиляции данных библиотек, чтобы библиотека уже существовала в момент обращения к ней?