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