Visual Studio 2012 および Windows SDK for Windows 8 の製品構成には win32.mak, ntwin32.mak が含まれません

適用対象: Visual Studio 2012 PremiumVisual Studio 2012 Ultimate

現象


win32.mak, ntwin32.mak は、Visual Studio 2010 以前のバージョン、ならびに、Windows SDK 7.1 以前のバージョンでは製品構成に含まれておりましたが、 Visual Studio 2012 および、Windows SDK for Windows 8 では、 これら2つのマクロファイルは製品構成に含まれておりません。
このため、Visual Studio 2012 や Windows SDK for Windows 8 に付属の nmake コマンドを使用して、win32.mak または ntwin32.makをインクルードした makefile の処理を実行すると、「makefile(5) : fatal error U1052: ファイル 'ntwin32.mak' が見つかりません。」のエラーとなります。

回避策


回避策1 

Visual Studio 2012 を使用している場合には、Visual Studio 2012 Update1を適用します。

Visual Studio 2012 Update1
http://www.microsoft.com/visualstudio/jpn/downloads#d-visual-studio-2012-update 

win32.mak と ntwin32.makが展開された Include フォルダのパスを、コンパイル実行時のインクルード ファイルの参照先として追加します。
nmake コマンドを実行するコマンド プロンプトで、事前に以下のコマンドを実行します。
追加するパスは SDK v7.1A のインストール フォルダに応じて適宜変更します。

SET Include=%Include%;C:\Program Files\Microsoft SDKs\Windows\v7.1A\Include


回避策2

Visual Studio 2012を使用していない場合には、以下のダウンロードサイトより
Windows SDK 7.1 をダウンロードして当該環境にインストールします。

Microsoft Windows SDK for Windows 7 and .NET Framework 4
http://www.microsoft.com/en-us/download/details.aspx?id=8279

win32.mak と ntwin32.makが展開された Include フォルダのパスを、コンパイル実行時のインクルード ファイルの参照先として追加します。
nmake コマンドを実行するコマンド プロンプトで、事前に以下のコマンドを実行します。
追加するパスは SDK v7.1 のインストール フォルダに応じて適宜変更します。

SET Include=%Include%;C:\Program Files\Microsoft SDKs\Windows\v7.1\Include