Может быть, опубликовать некоторые из журнала сборки - что-то вызывает выполнение среды DLL в шаге ссылки.
Убедитесь, что вы все очистили и выполнили полное восстановление. Если это не помогло, убедитесь, что для одного или нескольких исходных файлов отсутствуют параметры проекта на уровне файлов, что может привести к его перестройке для связи со средой выполнения DLL. Насколько я знаю, нет простого способа идентифицировать такие переопределения на уровне файлов из IDE. Просмотр журналов сборки или файла .vcxproj
непосредственно в текстовом редакторе может помочь сузить это. Если вы посмотрите в файл .vcxproj
, исходный файл с переопределениями проекта будет иметь элементы XML для переопределенных настроек в элементе <ClCompile>
файла, где большинство элементов <ClCompile>
не будут иметь подэлементов.
Наконец, если он не слишком большой, вы можете посмотреть, помогает ли воссоздание проекта с нуля (я знаю, что это радикально и не нужно, но иногда это помогает избавиться от странностей).
В качестве дополнительного примечания MSDN сообщает (http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx):
Поскольку библиотека DLL, созданная путем ссылки на статический CRT, будет иметь свое собственное состояние CRT, не рекомендуется статически связывать ее с CRT в DLL, если только последствия этого специально не желательны и понятны.
Кстати, _Container_base12
- это тип, используемый для проверки / отладки итератора, поэтому вы не видите его или каких-либо его функций-членов напрямую ни в одном из ваших исходных файлов. Убедитесь, что вы ничего не делаете неправильно с настройками макроса _HAS_ITERATOR_DEBUGGING
и _SECURE_SCL
. Но я не думаю, что это как-то связано с вашей конкретной конкретной проблемой. Если вы в конечном итоге подумали, что они связаны с вашей проблемой, вы можете проверить: