Win32またはx64モードのVisual Studio 2010を使用してc ++プロジェクトをコンパイルしようとすると、次のエラーが発生します。
>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(135): fatal error C1189: #error : "No Target Architecture"
私のプリプロセッサ定義はWIN32; _DEBUG; _CONSOLE;%(PreprocessorDefinitions)と言っています
このエラーの原因と修正方法を教えてください。
// winnt.h: lines 127-136, MSVS says this is an inactive preprocessor block
#if defined(_WIN64)
#if defined(_AMD64_)
#define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD )
#elif defined(_IA64_)
#define PROBE_ALIGNMENT( _s ) (TYPE_ALIGNMENT( _s ) > TYPE_ALIGNMENT( DWORD ) ? \
TYPE_ALIGNMENT( _s ) : TYPE_ALIGNMENT( DWORD ))
#else
#error "No Target Architecture"
#endif
更新:新しいmsvsプロジェクトを作成し、コードをそれにコピーしました。私はもう持っていませんがerror : "No Target Architecture"
、今ではwinnt.hとwinbase.hに関連するコンパイルエラーがたくさんあり、ファイルに関連するコンパイルエラーはありません。これらのファイルが破損している可能性はありますか?MSVS 2010を再インストールする必要がありますか?
アップデート2:それで、問題を絞り込み、それが#include <WinDef.h>
winnt.hですべてのコンパイルエラーを引き起こしていることがわかりましたが、それを修正する方法がまだわかりません。