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