前回、サンプルプログラムが動いたので、今回は、プロジェクトを始めから作成してみる。
ただし、普通にやってもつまらないので、64bit CLR コンソールアプリケーションを作成してみる。
とその前に、Express Edition は、64bit 版のビルドはサポート外なので、Microsoft Visual C++ 2008 Express Edition で64ビット版のプログラムを作る方法を参考に(ありがたやありがたや~)以下のものを導入して、64bit 版をビルドできるようにした。
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1
Visual C++ 2008 Express Edition And 64-Bit Targets本文中の”Updated patch for Win7 SDK:”の下の”VCE64BIT_WIN7SDK.zip”
最初、私の環境では、以下の手順を実施してもうまくいかなかった。
おそらく、Visual C++ をデフォルトのディレクトリにインストールしていなかったのが原因と思われる。
しかたがないので、Visual シリーズ(C#など)、および、Windows SDK など関係するものを全てアンインストールして、Visual Studio に関連する設定ファイルをすべて削除し、アンインストールしたものをインストールし直す、その際にインストール先をデフォルト値のままとし、再び以下の手順を繰り返したらうまくいった。
64bit 版ビルド対応化の手順は以下のようにする。
Visual C++ 2008 Express Edition with SP1 をインストール。
インストール後、Windows Update を実行し、Visual C++ を最新の状態にしておくこと。
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1のページから”winsdk_web.exe”をダウンロードして実行する。画面の指示通りにインストールする。
”VCE64BIT_WIN7SDK.zip”を解凍する。
解凍したファイルの”readme.txt”を開いて読む。
”readme.txt”の手順3は、リンク先の情報をよく読むこと、OSが32bitか64bitかで手順が変わるようだ。私のマシンはVista 64bitなので手順1は行わなかった(確証なし)
手順2として、「スタート」メニューから「すべてのプログラム」-「Microsoft Windows SDK v7.0」-「Visual Studio Registration」-「Windows SDK Configuration Tool」を実行
「Installed Windows SDK Versions:」で”v7.0”を選択。
「Make Current」ボタンを押す。
成功。「OK」ボタンを押す。
次に、コマンドプロンプトを管理者権限で開く。手順は次のようにする。
「スタート」メニューから「すべてのプログラム」-「アクセサリ」-「コマンドプロンプト」を右クリックして、コンテキストメニューから「管理者として実行」を選択。
開いたコマンドプロンプトで”VCE64BIT_WIN7SDK.zip”を解凍したディレクトリに移動する。
”setup_x64.bat”を実行する。(32bit OSの場合は”setup_x86.bat”)
> setup_x64.bat
> regedit /s x64\VC_OBJECTS_PLATFORM_INFO.reg
> regedit /s x64\600dd186-2429-11d7-8bf6-00b0d03daa06.reg
> regedit /s x64\600dd187-2429-11d7-8bf6-00b0d03daa06.reg
> regedit /s x64\600dd188-2429-11d7-8bf6-00b0d03daa06.reg
> regedit /s x64\600dd189-2429-11d7-8bf6-00b0d03daa06.reg
> regedit /s x64\656d875f-2429-11d7-8bf6-00b0d03daa06.reg
> regedit /s x64\656d8760-2429-11d7-8bf6-00b0d03daa06.reg
> regedit /s x64\656d8763-2429-11d7-8bf6-00b0d03daa06.reg
> regedit /s x64\656d8766-2429-11d7-8bf6-00b0d03daa06.reg
> copy "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\AMD64.VCPlatform.config" "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\AMD64.VCPlatform.Express.config"
1 個のファイルをコピーしました。
> copy "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\Itanium.VCPlatform.config" "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\Itanium.VCPlatform.Express.config"
1 個のファイルをコピーしました。
Visual C++ 2008 Express Edition を起動。
「ファイル」メニューから「新規作成」-「プロジェクト」を選択。
「プロジェクトの種類」から”CLR”を選択。
「テンプレート」から”CLR コンソール アプリケーション”を選択。
「プロジェクト名」に”HelloCL”と入力し、「OK」ボタンを押す。
「ビルド」メニューの「構成マネージャ」を選択。
「プラットフォーム」で「<新規作成...>」を選択
「新しいプラットフォーム」で”Itanium”と”x64”がリストアップされていれば 64 bit ビルド対応パッチが成功している。”x64”を選択して、「OK」ボタンを押す。
変更後の画面。「閉じる」ボタンを押す。
「ビルド」メニューから「ソリューションのビルド」を選択。
こんな感じのディレクトリ構成になっていれば成功。環境によっては、多少異なるかもしれない。
というわけで、今回はここまで。