Hatena::ブログ(Diary)

TyounanMOTIのメモ+なにか

2009-11-29

[]Snow LeopardOpenAL, ALUTをビルドする

Snow LeopardOpenALとALUTをx86_64向けにビルドするときのメモ。

ALUT付属のテストプログラムは動かせるようになったレベルなので、実際不具合なく動くかは未確認。

今回も、32/64bitのすれ違いでした。


OpenALダウンロード

OpenALとALUTのソースコードを以下のSVNリポジトリからclone

svn://connect.creativelabs.com/OpenAL

# git svn cloneしたら結構な時間がかかった。

OpenALビルド

XCodeプロジェクトファイルの修正

OpenAL.xcodeprojをそのまま開くと、パスが通ってないファイルがたくさんあるかもしれない。

trunk/OpenAL-MacOSX/OpenAL.xcodeproj/project.pbxproj

このファイルの、Examples を Extras に置換すれば解決。(.xcodeprojのコンテキストメニューから「パッケージの内容を表示」で中に入れる)

64bit対応のコードへ修正

ターゲットをx86_64にしてもエラーが出るので、以下のように変更

trunk/OpenAL-MacOSX/Support/oalAtomicStack.h : 75行目
return ::CompareAndSwap(uintptr_t(oldvalue), uintptr_t(newvalue), (UInt32 *)pvalue);

参考:Cのポインタを整数に変換する - bkブログ

ビルド

プロジェクトウィンドウのツールバー左上で、アクティブアーキテクチャを x86_64 に。

*** 以下はする必要あるのかよくわからないので誰かお願いします。 ***

ターゲットのOpenAL, openal.dylibの「情報を見る」から、「アーキテクチャ」を「Standard (32/64-bit Universal)」に変更。

*** ここまで ***

で、ビルド

警告がたくさん出るけど、全部「古い関数を使ってます」なので、誰かそろそろ書き換えないと次のMac OS Xが出たら動かなくなるかも。

インストール

できた OpenAL.framework フォルダを /Library/Framework/ に入れる。

openal.dylibはお好みで/usr/libとかに入れれば完了。)

ALUTのビルド

./autogen.sh
./configure LIBS="-framework OpenAL"
make
make install

これで全部完了。

(お好みで)ALUT.frameworkを作る

新規Cocoa Frameworkプロジェクトを作成。名前は ALUT。

以下をプロジェクトに追加する。

こいつらと、*.pchと、*.plist以外は削除。

次に、プロジェクトの「情報を見る」から、「プリプロセッサマクロ」に「HAVE_CONF_H」を追加。

ビルドして、ALUT.frameworkを /Library/Framework/ に入れて完了。