- ベストアンサー
C2146を回避するにはどうしたら良いのでしょうか
いつもここにお世話になってますm(__)m。今回は下記の様なエラーが出てしまい、困っております(--;)。 <エラー内容> 1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(222) : error C2146: 構文エラー : ';' が、識別子 'PVOID64' の前に必要です。 1>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(222) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません エラーが起こっているのはwinnt.h内の「typedef void * POINTER_64 PVOID64;」という部分なのですが(他にもありますが)、winnt.hは弄ってないのです。 ネットで検索したところインクルードファイルディレクトリの指定の順番が怪しそうなので、「ツール」「オプション」でPlatformSDK関連が一番上に来るように変更(実行可能ファイル、インクルードファイル、ライブラリファイル)してリビルドしてみましたが結果は変わりませんでした。 他にチェックすべき点をお教え頂けると助かります。 [環境] ・WindowsXP(SP2) ・Visual Studio 2005 Professional(C++、SPなし)
お礼
回答ありがとうございます。 >この人によると、DirectX9.0が怪しいんじゃないか? 確かにDirectX9.0を使用しています(Feb2007)。 >POINTER_64が使われようとしているということは、64bit版モジュールを作るってことですかね? う~ん、当人はそのつもりではない様ですが(実はコーディングは別の人が行なっているので)、何か間違えているのかもしれません。確認してみます。 >コンパイルオプションとインクルード指定があってないような気がしなくもないです。 コンパイルオプションですか・・・。ちょと調べてみますm(__)m。