id:yaneuraoさんのYaneuraoGameSDK.NETではVisual C++ 2005 Express Editionでx64開発を行う方法が説明されています。2008でも同様の手法が使えることを確認しました。使用したのは以下の環境です。
- Visual C++ 2008 Express Edition SP1
- Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (ISO)
id:yaneuraoさんの方法ではVC++起動用のバッチファイルは1つですが、Windows 7 SDKでは遅延環境変数を使用しているため、バッチファイルを2つ使いました。
バッチファイル
最初のバッチファイル(VCx64.bat)で遅延環境変数を有効にして、二番目のバッチファイル(VCx64-2.bat)で環境変数を設定してVC++を起動します。
- VCx64.bat
cmd /E:ON /V:ON /C VCx64-2.bat
- VCx64-2.bat
call "C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\SetEnv.cmd" /Release /x64 /vista start "" "%VS90COMNTOOLS%..\IDE\VCExpress.exe" /USEENV
VCx64.batを開くとx64が有効になった状態でVC++が起動します。VC++が起動してから目的のソリューションを開きます。x64が有効になるのはバッチファイル経由で起動したときだけです。
プロジェクトの設定
これもid:yaneuraoさんの方法とほぼ同じですが、リンカの設定は選択肢を使用しました。
/U_M_IX86 /D_WIN64 /DWIN64 /D_M_X64 /D_M_AMD64
- プロジェクトのプロパティ → リンカ → 詳細 → 対象コンピュータ: MachineX64 (/MACHINE:X64)
Expressではソリューション内でx86とx64を切り替えられないため、ソリューションとプロジェクトを別々に用意することになるようです。