Я думаю, вы не понимаете, что делает создание архива и архива импорта.
Создание архива, как вы правильно поняли в комментариях, создает единый файл, содержащий скомпилированные .objs. Теперь он может содержать любой код, который вам нравится, включая динамические вызовы библиотек, но не ограничиваясь ими. Библиотека импорта - это библиотека, которая содержит объект obj, который делает исключительно такие вызовы, идея состоит в том, что, импортируя ее, ваш exe-файл может найти соответствующие символы (они должны быть в исполняемом файле, который вы создаете).
Процесс создания c.lib
из w.lib
просто извлекает объекты w.lib
и добавляет их в коллекцию объектов в c.lib
. По сути, c.lib
становится библиотекой импорта + кодом.
Думаю, ты должен это сделать? Не совсем - это может привести к путанице относительно того, от чего зависит e.exe
; Я думаю, вы должны явно сделать это видимым, а не пытаться скрыть это. Тем не менее, это только рекомендация, а не правило.