ARToolKitのお勉強のために、macのxcodeでARToolKitを使おうとしたらハマったので、(ハマったのは私だけかも知れませんが)覚書メモを残しておきます。間違ってたらごめんなさい
環境:
OS: MacOSX 10.6
Xcode: 3.2.3
ARToolkit: 2.72.1
ARToolKit本体のビルド
サイトからダウンロードして、解凍したファイルに、ARToolKit.xcodeprojというのがあって、これをクリックするとXcodeで開いてくれる。
そのままビルドを選択すると、「error: There ins no SDK with the name or path '/Developer/SDKs/MacOSX10.4u.sdk'」というエラーが出る。
→ 10.4向けのプロジェクトだと思われ・・・
そこで、プロジェクトの「情報」の「一般」から、「すべての構成のベースSDK」を「現在のMac OS」を選択する。その後、ビルドすると、ちゃんとビルドされて、いくつかのサンプルプログラムが動くようになる。
残った問題:
実はopenvrmlが無くて、それ系のサンプルプログラム(simpleVRML)が動かない・・・。まあ、VRMLを使うところまで来たらまた考えよう。。。
ARToolKitのライブラリのリンク(ここ参照)
・コンソールアプリケーションを新規作成して、プロジェクトの「情報」の「ビルド」で「ヘッダ検索パス」と「ライブラリ検索パス」にそれぞれ、ARToolKitのヘッダファイル、ライブラリファイルがあるディレクトリを指定する。
・プロジェクトの「追加」の「既存フレームワーク」を選択して、
・Carbon.framework
・Cocoa.framework
・GLUT.framework
・OpenGL.framework
・QuickTime.framework
を追加。
・ビルド!
すると、
警告に
libAR.a, missing required architecture x86_64
エラーに
"_arVideoCapStop", referenced from:
と表示されてうまく行かない。
どうやら、ARToolKitをビルドする時は「アクティブアーキテクチャ」が「i386」になっていて、一方プロジェクトを新規作成した場合「アクティブアーキテクチャ」が「x86_64」になっているので、これを「i386」に合わせると、ビルドがうまくいって、プログラムが実行できた。(細かい理由はよくわかりませんが、とりあえず動けば良し・・・)
プログラム
・arVideoOpen関数で渡す設定ファイルはサンプルにあるファイル名を渡してもうまくいかない。サンプルプログラムを見ると、Macの場合はファイル名を指定していなくて、空文字を渡していた・・・。
これ以上はまるようだったら、とりあえずおとなしくWindowsとVisual Studioで頑張っていくことにしよう。Xcodeの使い方を先に勉強した方が良いのかも知れない。
ARToolKit面白そう!と思っていろんなページを参考に試行錯誤してましたが、ビルドを実行するとどうしてもエラーになってしまい困っていました。
返信削除こちらで紹介されている通りに「情報」の「一般」から、「すべての構成のベースSDK」を「現在のMac OS」を選択したらうまくいきました!どうもありがとうございます!