x64形式の実行ファイルを作成する
VisualStudio のデフォルトで「新規プロジェクト」を作成すると、AnyCPU 形式の実行ファイル(EXE)ができあがります。
昔は、x86 のCPUと x64 のCPUのシェアが半々だったので、どちらのCPUでも動く AnyCPU な実行ファイルをデフォルトで作成するようにしておくのがよかったのでしょう。
コンピュータの中だけでおさまるようなプログラムだけならば AnyCPU 形式の実行ファイルを作るので問題ありません。実行速度についても負荷のかかることをしなければ x86 のCPU、x64 のCPUどちらであっても速度の違いを体感することはありません。
しかし、コンピュータの PCI バスや、PCI-Express バスなどに、デジタル入出力ボードや画像入力ボードを挿入して使う場合には、AnyCPU ではなく、x64形式で実行ファイルを作成することが必須になります。
本記事では x64 形式の実行ファイルを作成する手順を示します。熟練者には直接プロジェクトのファイルを書き換えるのが簡単なのですが、ここでは、すべて VisualStudio の GUI で設定していく方法を示します。
おおまかな作業の流れは下記です。
(0) AnyCPU のビルド設定から x64 のビルド設定を複製する.
(1) AnyCPU と x64 のビルド設定が並立している状態になる.
(2) AnyCPU のビルド設定を削除する.
(3) x64 のビルド設定だけになる.
となるように作業をします。
Fig.1 メニューバー [ビルド]...[構成マネージャ] を実行します。
Fig. 2 デフォルトの状態は AnyCPU しかありません。アクティブソリューションプラットフォームの AnyCPU の下に <新規作成...> というメニューがあるのでそれを選びます。
Fig. 3 <新規作成...> を選んだら、新しいソリューションプラットフォームというダイアログが現れます。そこで、新しいプラットフォームとして x64 を選んでください。「新しいプロジェクトプラットフォームを作成する」のチェックボックスにチェックを入れてください。デフォルトではすでにチェックが入っていると思います。チェックをいれたら [OK] ボタンを押してください。
Fig. 4 は、AnyCPUのプラットフォーム設定を x64 に複製して、それらが二つ存在することを示しています。
Fig. 5 は、x64 のプラットフォーム設定ができあがったので AnyCPU は不要になります。それを削除する寸前の状態です。ここで AnyCPU を選んで [削除] のボタンを押します。
Fig. 6 は AnyCPU を削除したので x64 しかない状態です。
ここで終わりになるような気もしますが、まだ終わりではありません。
Fig. 7 プラットフォームの設定には AnyCPU と x64 がまだ残っています。ここで <編集...> を押して、AnyCPU を削除します。
Fig. 8 <編集...> を押すと「プロジェクトプラットフォームの編集」というダイアログが現れます。ここで AnyCPU を選択して [削除] のボタンを押します。
Fig. 9 [削除]のボタンを押すと AnyCPU を削除しますか?という確認ダイアログが表示されるので [はい] を押します。
ここで、プロジェクトのビルド設定から AnyCPU をすべて追い出して、x64 形式の実行ファイルが生成できるようになりました。
とはいえ、本当に x64 を生成する設定ができているのかどうかGUIの見た目ではわからないので、これから確認していきます。
Fig. 10 メニューバー [ビルド]...[バッチ ビルド] を実行します。
Fig. 11 に示すバッチビルドのダイアログが現れます。
プラットフォームが x64 のみで、ソリューション構成が Debug|x64と、Release|x64 だけであることを確認してください。このダイアログのどこかに AnyCPU という表示が出ていたら、それはまだ AnyCPU の設定が残っていることになります。
AnyCPUの設定が残っているとまぎらわしいので、Fig. 5 または Fig. 8 に示す手順に戻って AnyCPU を削除してください。
Fig. 12 ソリューションエクスプローラのプロジェクト構成の Properties をダブルクリックするか、メニューバーの [プロジェクト]...[xxxのプロパティ]をクリックして、ビルドのプロパティを表示させます。
構成を [Debug] にして、プラットフォームを [アクティブな(x64)]にしてください、そのとき対象プラットフォームが "x64" であることを確認してください
出力パスは "..¥out¥x64¥Debug¥" に書き換えてください。ここに実行ファイルが生成されます。この生成ディレクトリは開発者それぞれの好みでかまいませんが、パスに AnyCPU という記述を含めるとわけがわからなくなるので避けてください。
"ドットドット¥out¥x64¥Debug¥" です。ドットは2個です。
Fig. 13 構成のところを [Debug] から [Release] に選択しなおします。そのときも対象プラットフォームが "x64" であることを確認してください。
出力パスは "..¥out¥x64¥Release¥" に書き換えてください。ここに実行ファイルが生成されます。
"ドットドット¥out¥x64¥Release¥" です。ドットは2個です。
Fig. 14 ふたたび、メニューバー [ビルド]...[バッチ ビルド] で、バッチビルドダイアログを表示します。[ビルド]のところにチェックがはいっていないので、[すべて選択] のボタンを押してチェックを入れます。マウスでいちいちチェックを入れても構いません。
Fig. 15 どちらにもチェックをいれたら、[リビルド]のボタンを押してください。押した瞬間にビルドが始まります。
Fig. 16 ダイアログが閉じると、ビルドしている状況が刻々と出力ウインドウに表示されていると思います。高速なパソコンだと一瞬でリビルドがおわるので、すでにビルド完了の状態になっているかもしれません。
ここの表示が「すべてリビルド: 2 正常終了」となっていることに注目してください。
ここの 2 という数字は Fig. 15 でチェックを入れた個数です。もしチェックが一つだったら、チェックをいれた構成のビルドしか実施しないことになります。
Fig. 17 いちおう x64 形式で Debug ビルドの実行ファイルが出力されたか確認します。ここの出力パスは Fig. 12 で設定した出力パスです。本記事では、プロジェクトファイル *.vcproj の2個上の階層のディレクトリに実行ファイルが出来上がります。
Fig. 18 Debug ビルドと同様に x64 形式で Relase ビルドの実行ファイルが出力されたか確認します。ここの出力パスは Fig. 13 で設定した出力パスです。
以上が x64 の実行ファイルを作成する方法です。お疲れさまでした。
下記のページで、実行ファイルを出力するディレクトリはどこがいいか考察しています。よろしければごらんください。