Hatena::ブログ(Diary)

七誌の開発日記(旧) このページをアンテナに追加 RSSフィード

新ブログ Twitter OneDrive Wiki

2009-11-03

[]ALUTのバイナリ配布

ALUTのWin64バイナリが見当たらなかったので自分でビルドしました。動作に問題がありますが、とりあえず置いておきます。VC++ Express(id:n7shi:20091005)とgcc(id:n7shi:20091004)でビルドしました。

問題点

手元の環境ではVista/7ともにサンプルの音が最後で途切れます。VC++でもgccでも同様です。同じ環境でも32bitバイナリでは正常動作します。原因は未調査です。

2009-10-05

[]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

Expressではソリューション内でx86x64を切り替えられないため、ソリューションとプロジェクトを別々に用意することになるようです。

2009-10-04

[][]x64 Windowsgcc

MinGW-w64(x64 Windowsgcc)をInterixに移植しました。Package Manager for Interixを利用して、自動的にソースをダウンロードしてビルドするようにまとめました。

Windows Vista (x64)とWindows 7 (x64)での動作を確認しています。出力するのはInterixバイナリではなくWin64バイナリのため、Interixに依存しません。

ビルド方法

C Shellを管理者として実行して、インストール先を作成します。

% mkdir /opt/pmgr
% chmod 777 /opt/pmgr
% exit

通常ユーザーでC Shellを実行して、ビルドを開始します。

% setenv PATH "/opt/pmgr/bin:/opt/gcc.3.3/bin:$PATH"
% unsetenv GCC_EXEC_PREFIX
% tar xvzf pmgr-x86_64-mingw32-20091005.tar.gz
% cd pmgr-interix
% make install

ソースをダウンロードしてビルドが始まります。目安として Athlon 64 X2 4600+ (2.4GHz) で約2時間掛かります。

% time make install
(中略)
2869.54u 2534.36s 1:52:38.26 79.9%

ダウンロード時間は除いています。

パッケージ管理

簡単なパッケージ管理機能があります。

一度ビルドしたパッケージは以下のフォルダに入ります。pmgr-addコマンドで再インストールできます。

  • pmgr-interix/packages/

パッケージ配布

パッケージの配布も行っています。

パッケージをインストールするには、x86_64-mingw32-interix-20091005.tar.gzからbase/pmgrとbase/bzip2のインストールが必要です。

% cd pmgr-interix/base/pmgr
% make install
% cd ../bzip2
% make install
% rehash
% pmgr-add [package file]