Ваша проблема в том, что msvcrtd.lib конфликтует с LIBCMT.lib.Они не должны оба использоваться.Библиотека msvcrtd.lib используется при компиляции для многопоточной динамической компоновки во время выполнения отладки (/ MDd), а LIBCMT используется при компиляции для многопоточной статической компоновки без отладки во время выполнения (/ MT).См. здесь для некоторого фона.
LIBCMT используется по умолчанию, если не указан переключатель.
Возможно, стоит проверить «Свойства конфигурации» |C / C ++ |"Генерация кода" |Параметр «Библиотека времени выполнения» для подтверждения того, что для сборок выпуска установлено значение / MD, а для отладочных сборок - / MDd.Вам нужно проверить этот параметр для проекта и каждый файл cpp в проекте, так как отдельные файлы могут иметь разные параметры.
Если честно, если бы установка переключателя была неправильной, я бы ожидал, что проблема проявится еще до того, как вы включили afxole.h, и я ожидал, что afxver.h выдаст ошибку с просьбой использоватьключ / MD, так что проблема может быть более тонкой, чем просто неправильная настройка переключателя.
Обновление : я убрал ссылку на ключ / ML, это был Visual Studio 2003, а не Visual Studio2005.
Обновление : Подумайте об этом еще немного, если вы добавили afxframewndex.h
, то вам не нужно явно включать afxole.h
, потому что оно должно быть включено для вас.
Если вы включите / showInclude и скомпилируете свою программу, в окне вывода должно появиться что-то вроде этого ...
1>Note: including file: c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxframewndex.h
[snipped all the includes due to afxframeimpl.h and afxcontrolbarutil.h]
1>Note: including file: c:\program files (x86)\microsoft visual studio 9.0\vc\atlmfc\include\afxpopupmenu.h
1>Note: including file: c:\program files (x86)\microsoft visual studio 9.0\vc\atlmfc\include\afxpopupmenubar.h
1>Note: including file: c:\program files (x86)\microsoft visual studio 9.0\vc\atlmfc\include\afxtoolbar.h
1>Note: including file: c:\program files (x86)\microsoft visual studio 9.0\vc\atlmfc\include\afxtoolbardroptarget.h
1>Note: including file: c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxole.h
Вам нужно избавиться от явного#include of afxole.h и выясните, почему базовый класс COleDropTarget не определен, несмотря на то, что включен файл afxframewndex.h.