【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

Visual C++ 2008 Express Editionでx64開発

id:yaneuraoさんのYaneuraoGameSDK.NETではVisual C++ 2005 Express Editionでx64開発を行う方法が説明されています。2008でも同様の手法が使えることを確認しました。使用したのは以下の環境です。

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を切り替えられないため、ソリューションとプロジェクトを別々に用意することになるようです。