Извините за смутное название вопроса, я просто хочу выяснить некоторые вещи.
Статические библиотеки не связаны с другими статическими библиотеками, верно?
Итак, когда я пишу слиб: A, который использует функциональность другого: B, все, что я должен предоставить, это заголовки от B до A и только те, даже если A действительно использует функциональность от B?
Да?
До тех пор, пока exe: X, который использует A, указал B.lib в качестве входных данных компоновщика?
Так что во время компоновки компоновщик берет A.lib, который в основном знает только, что функция B была вызвана где-то внутри его кода, и каким-то образом заполняет эту информацию из B.lib, делая A.lib «целым», прежде чем X будет связан с уже работающими его частями?
Мотивация этих вопросов состоит в том, чтобы избавиться от некоторых предупреждений 4006 компоновщика и отброшенных двойных определений, и я думаю, что это должно сработать, если это действительно правильный способ сделать это.