У меня есть проект ATL COM, который прекрасно компилируется в VC6, который выдает следующие ошибки компоновщика при компиляции в VS2008.
ошибка LNK2005: "void * __cdecl
оператор new (без знака int)
(?? 2 @ YAPAXI @ Z) уже определены в
libcmt.lib (new.obj) Файл: uafxcw.lib
Есть еще три похожих ошибки для delete
, new[]
и delete[]
.
Я проверил несколько статей в сети, и большинство из них говорят, что это конфликт между CRT и MFC dll. (Порядок, в котором они подобраны). Одна статья предлагает добавить конфликтующую библиотеку в список игнорируемых библиотек в настройках проекта.
При этом у меня остается одна ошибка:
ошибка LNK2001: неразрешенная внешняя
символ __afxForceEXCLUDE Файл: LMAN.Lib
Ошибка указывает на библиотеку, на которую ссылается этот проект (библиотека, разработанная нами).
Есть идеи как это исправить? Я уверен, что это будет распространенной проблемой для людей, которые переходят на VS 2008.