致命的なエラー: Visual Studio で「ターゲット アーキテクチャがありません」というエラーが発生する 質問する

致命的なエラー: Visual Studio で「ターゲット アーキテクチャがありません」というエラーが発生する 質問する

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 でのすべてのコンパイル エラーの原因がこれであることが分かりましたが、まだ修正方法がわかりません。

ベストアンサー1

#include <windows.h>の代わりにを使用します#include <windef.h>

からwindows.hウィキペディアページ:

には、自動的にインクルードされる子ヘッダーファイルがいくつかありますwindows.h。これらのファイルの多くは、単独ではインクルードできません(自己完結型) は依存関係のためです。

windef.hは、 に自動的に含まれるファイルの 1 つですwindows.h

おすすめ記事