2011年8月18日木曜日

LionでopenFrameworksのビルドが失敗する

だいぶ前に買っておきながら積ん読状態だった Beyond Interaction を読み進めてます。

環境はこんな感じ。
・Mac OS X Lion 10.7.1
・Xcode 4.1
・openFrameworks v0.07

oFのexamplesに入っているサンプルを動かしたり、本に書かれているコードを写経したりして遊んでいたのですが、Xcodeの設定を変に弄ってしまったらしく、ビルドが失敗するようになってしまいました。

ofQuickTimeGrabber.cppとofQuickTimePlayer.cppについて、「'*' was not declared in this scope」とかいろいろメッセージが出てますね。


「C++全然わからんw」とか呟きながら調べてみると、どうやらBase SDKのバージョンが10.7になっているとまずいらしい。

・・・がしかし、その設定方法がわからず右往左往。Xcodeはバージョン4になってUIがだいぶ変わったらしく、古いバージョンの説明を見ても結局やり方がわかりませんでした。

んで、ようやく見つけたのがこちら。
スクリーンショット付きでわかりやすい!

同じ症状が出ている人はリンク先を見れば解決できるかと思いますが、メモ書き代わりに設定方法を書いておきます。

【Xcode4でBase SDKのバージョンを変更する方法】
その①
ナビゲータエリアのプロジェクト名(ここではemptyExample)をクリック。
PROJECT部分のプロジェクト名をクリック。
Build Settingタブを選択し、その下のタブではAllとCombinedをクリック。
Base SDKをMac OS X 10.6に変更。

その②
TARGETS部分のプロジェクト名をクリック。
Base SDKをMac OS X 10.6に変更。

その③
ナビゲータエリアのopenFrameworks>openFrameworksLib.xcodeprojをクリック。
PROJECT部分のプロジェクト名をクリック。
Build Settingタブを選択し、その下のタブではAllとCombinedをクリック。
Base SDKをMac OS X 10.6に変更。

その④
TARGETS部分のプロジェクト名をクリック。
Base SDKをMac OS X 10.6に変更。

とりあえずここまででビルドはできるようになりますが、Deployment Targetも設定変更しておいた方がよさそうです。

その⑤
ナビゲータエリアのプロジェクト名をクリック。
PROJECT部分のプロジェクト名をクリック。
Infoタブを選択。
Deployment Targetを10.6に変更。

その⑥
TARGETS部分のプロジェクト名をクリック。
Summaryタブを選択。
Deployment Targetを10.6に変更。

以上です。

いやー、「最悪Xcode再インストールかなー」とか思っていたんで、解決して良かった良かった。

0 件のコメント:

コメントを投稿