VS2012 C ++ предупреждение C4005: «__useHeader»: переопределение макроса

При переносе старого проекта C ++ из Visual Studio 6 в Visual Studio 2012 мы обнаружили странный набор предупреждений из стандартных заголовков платформы Microsoft:

предупреждение C4005: '__useHeader» : переопределение макросапредупреждение C4005: '__on_failure» : переопределение макроса

Поиск в Интернете обнаружил только несколько человек, столкнувшихся с этой ошибкой. В некоторых случаях люди пытались использовать VS2012 для компиляции устаревшего кода DirectX, чего я не делаю. В других случаях это были люди, которые пытались использовать VS2012 для Windows XP (используя новую опцию из Обновления 1), что я и делаю.

На вопрос DirectX ответили, что всегда будет предупреждение о том, что выперекомпилировать устаревшую (до Win8) версию DirectX, и выЯ просто должен жить с этим.

На вопрос Windows XP ответа не было. Другие просто сказали, что не могутвоспроизвести проблему.

Я воспроизвел это и нашел причину, которую я пишу здесь, чтобы помочь всем, кто сталкивается с этим.

Ответы на вопрос(10)

Ваш ответ на вопрос