У нас множество библиотек зависит друг от друга и в конце это заканчивается несколькими экзешниками.
Если библиотека А зависит от Б то в профайл А нужно включить Б. Если экзешник зависит от А то в его профайл нужно включить и А и Б.
По такому принципу у нас сейчас чтобы подключить бибиотеку нужно написать еще десяток, от которых она зависит. Если подключить к библиотеке, которой все пользуются, например, отладочную библиотеку, потом придется переделывать профайлы кучи проектов, куда также включать отладочную хотя на прямую она там не используется.
Чяднт? Нельзя поменять свой проект без беготни по другим.
Бегите, бегите от этого!
Поможет ли вам мой совет. Да конечно нет. Нужно остановить проект и чётко определить связи между между вашими модулями. А это переписывание API, а это нужно иметь юнит тесты, это всего так много, что лучше закрыть глаза.
Тут вопрос даже не к проектированию, все мы начинаем проект, не имея чёткого ТЗ, что должно получиться. Тут главное и очень важное, что ваш проект разрабатывался как единый, не было разделение между модулями, а только между людьми (и то не факт). Эх, сейчас начнём, а там что будет.
Кстати, засада часта техническая. Ведь зависимость между модулями появляется в процессе разработки и когда код компилируется по нарастающей (в процессе разработки), что читстый конечный тупо не может откомпилится от зависимостей.