開発マシンのOSをWindowsXPからWindows8.1に変え、ゲームの開発環境を整えていたのですが、XPでは出なかったコンパイルエラーで、随分悩みました。

開発ツールはMicrosoft Visual C++ 2008を使用しています。エラーは、「構文エラー : ';' が、識別子 'PVOID64' の前に必要です。」というもの。

DirectXのSDKは9.0aを使用していたので、SDKの【include】フォルダと【lib】フォルダをc:\program files\microsoft sdks\windows\v6.0a\に上書きコピーしたものの、うまくコンパイル出来ず、結局Google先生にお願いすることにしました。

検索をかけてみたところ、同じエラーで悩んでいる方がおられたため、その方のアドバイスを参考にやっとコンパイル出来るようになりました。ありがたやありがたや。

またWinsows8.1で開発環境を構築しなければいけないときのためにブログにメモとして残しておきます。

00










1.Visual C++ 2008のメニューからプロジェクトを選択。
2.一番下のプロパティを選択。
3.[c/c++]の[全般]を選択し[追加のインクルードディレクトリ]に[c:\program files\microsoft sdks\windows\v6.0a\include]を入力。
4.surface2にしてからは、下記のフォルダも追加。[C:\Program Files (x86)\Microsoft SDKs\Windows\v5.0\Include]
clip_4








あと、c:\program files\microsoft sdks\windows\v6.0a\includeにある
WinNT.hを編集する必要がありました。

typedef void * POINTER_64 PVOID64;


を下記のように直して上書き。 

typedef void * POINTER_64, * PVOID64;

これでコンパイルが通るようになりました。
XPのときにはこういったトラブルがなかったのですが、OSが変わるといろいろ大変ですね。
vistaや7にはどうしても馴染めなくて、ずっとXPで開発してたツケですね。