日別アーカイブ: 2007年10月16日

64bit 開発設定のメモ

Windows で x64 用の build 環境を作る時のメモです。

●VisualStudio 2005 IDE

MSDN 方法 : Visual C++ プロジェクトを 64 ビット プラットフォーム用に設定する

構成マネージャで新しい Platform を追加するだけでいいようです。
WindowsCE の CPU 追加と同じような感じ。
その後 Options の Projects and Solutions → VC++ Directories でも
Platform を選択してフォルダなどの確認や追加をします。
32bit 版 Vista で作業しているので、クロス開発用バイナリ x86_amd64 が
選択されていました。
DirectX SDK 用に下記の設定を追加します。必ず一番上にしておきます。

Executable files:
 $(DXSDK_DIR)Utilities\Bin\x64

Inclue files:
 $(DXSDK_DIR)Include

Library files:
 $(DXSDK_DIR)Lib\x64

●コマンドライン用

MSDN 方法 : 64 ビットの Visual C++ ツールセットをコマンド ラインから有効にする

vcvarsall.bat の中を見ると各環境用の個別のファイルを呼び出して
いるだけでした。それぞれ専用の環境変数設定が用意されています。

x86        32bit 用
amd64      64bit 用
x86_amd64  32bit 上で 64bit バイナリの作成 (クロスコンパイル)

環境設定用 bat ファイル

x86       VC\bin\vcvars32.bat
adm64      VC\bin\amd64\vcvarsamd64.bat
x86_adm64  VC\bin\x86_amd64\vcvarsx86_amd64.bat

ひとつの Makefile で各環境用のバイナリを作るなら、これらの設定も
Makefile に記述することになるでしょう。

x64 の場合 lib のそれぞれのパスに lib\amd64 を追加するだけで、
または DirectX SDK のように x86 を x64 に置き換えます。
binary path の場合は上記のようにクロスコンパイルを含めた 3 種類の
構成があります。x86_amd64 では x86 用 bin も必要なので、その前に
x86_amd64 用パスを追加します。

x86
  C:\Program Files\Microsoft Visual Studio 8\VC\bin

amd64
  C:\Program Files\Microsoft Visual Studio 8\VC\bin\amd64

x86_amd64
  C:\Program Files\Microsoft Visual Studio 8\VC\bin\x86_amd64
  C:\Program Files\Microsoft Visual Studio 8\VC\bin

あとはコンパイルオプションの変更など。
ほぼ同じ指定が可能で -arch:SSE2 は不要。

__asm ははじかれたけど、intrin.h は大丈夫そうです。