0

PE ファイルに関する情報を印刷する小さな個人プロジェクトを行っています。ほとんどの pe 構造が winnt.h ヘッダーで既に定義されていることを読みました。

winnt.h をインクルードし、プロジェクトをコンパイルすると、次のエラーが発生します。

#error :  "No Target Architecture"

define x86を入れてみました。アーキテクチャの問題は修正されたかもしれませんが、コンパイルの問題はさらにあります。

例えば:

1>c:\program files (x86)\windows kits\8.0\include\um\winnt.h(363): error C2146: syntax error : missing ';' before identifier 'WCHAR'
1>c:\program files (x86)\windows kits\8.0\include\um\winnt.h(363): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\windows kits\8.0\include\um\winnt.h(367): error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\windows kits\8.0\include\um\winnt.h(367): error C2040: 'PWSTR' : 'CONST' differs in levels of indirection from 'WCHAR *'
4

1 に答える 1

3

コマンド ラインからコンパイルする場合は、[プロジェクト オプション] で [コンパイラ] -> [Microsoft 拡張機能を有効にする] をオンにするか、-Ze フラグを使用します。

于 2013-10-27T12:36:57.410 に答える