ASi

VS2005のVCのエラー

こー言うエラーをDirectX9のサンプルをビルドすると吐く。

>C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(222) : error C2146: 構文エラー : ';' が、識別子 'PVOID64' の前に必要です。

この理由は、DirectX9のBaseTsd.hを使ってしまうからだった。VS2005のwinnt.hは、PlatformSDKに含まれる最新のBaseTsd.hを必要とする。PlatformSDKのヘッダはc:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include に格納されている。よって、PlatformSDKへ先にインクルードパスを通す必要がある。

と言うか、winnt.hなんて基本的なヘッダが必要とするヘッダを、別のディレクトリに置くなよ。少なくとも、旧->新プロジェクト変換掛けるときに自動でパス通してくれよ。

同じことで悩んだ人は結構多いらしい。
http://d.hatena.ne.jp/EXCEED/20060605#p1