Я пытаюсь найти хороший способ определить, какой модуль во время компоновки вызывает обработку определенной библиотеки как «/ DEFAULTLIB», как видно из подробного вывода компоновщика из Visual Studio.
ЗдесьВ моей ситуации у меня есть несколько статических предварительных требований к библиотеке, и у каждого есть релиз и версия для отладки (BlahD.lib и Blah.lib).По какой-то причине во время компоновки все библиотеки * D.lib обрабатываются как библиотеки по умолчанию, несмотря на то, что я создаю релиз с не отладочными библиотеками, указанными как «Дополнительные зависимости».Если я никогда не создаю отладочные версии статических библиотек, эти * D файлы не будут существовать, и возникнет ошибка компоновщика (не удается открыть файл).
Я смогу успешно построить свой проект, задав/ NODEFAULTLIB для всех этих оскорбительных файлов .lib.Все библиотеки релизов соединяются, и все довольны.Но я хочу понять, что здесь происходит.Что вызывает обработку этих файлов * D.lib компоновщиком?Есть ли у меня единственная надежда написать какой-нибудь сценарий, который сваливает все в этот масштабный проект и его зависимые проекты ( поддержка Microsoft )?Даже тогда я не понимаю, что искать в выводе дампа, относится ли это к файлам .lib и файлам .obj?