2013.06.28
Scratch for iOSのセルフビルドに挑戦
Scratchとは
「Scratch」はMIT Media Labが開発している教育用のプログラミング環境です。
様々な命令文が定義されたブロックを組み立てる事で、子供や初心者でも分かりやすく、視覚的にプログラミングの概念を学ぶことができます。
iOS版はAppleの規約変更により2010年にApp Storeから削除されましたが、現在オープンソースとして公開されています。
Scratch.app.for.iOS
今回はこのScratch for iOSのビルドに挑戦です。
覚書
ビルド環境
- OS X Mountain Lion(v10.8.4)
- Xcode 4.6.3
コンパイラが無い!
GitHubから「Scratch.app.for.iOS」をローカルにCloneし、Xcodeで開くとコンパイラ未対応のエラー。
「Unsupported compiler 'GCC 4.2' selected for architecture 'i386'」
Xcode4.3からデフォルトになった2つのコンパイラは、名前は似ていますが「GCC 4.2」とは別物で、どちらを選択してもエラーが出てしまいます。
[Build Settings]>[Build Options]>[Compiler for C/C++/Objective-C]
- Apple LLVM compiler 4.2
- LLVM GCC 4.2
コマンドラインツールをインストール
OS Lion以降、コマンドライン上でgccを使うにはXcodeを経由してインストールする必要があるそうなので一応インストールしておきます。
[Xcode]>[Preferences]>[Downloads]>[Components]タブから「Command Line Tools」インストール→何も変わらず。
コマンドラインからはgcc(llvm?)を呼び出せるようになりました……
Xcode 4.3から変更されたディレクトリ構造
Xcode4でGCCを使えるようにする手順の記事を発見。
Xcode集中連載(5):Xcode 4.3.3 にGCCをインストール
こちらを参考にGCCをインストールしてXcodeを開きなおすと、[Build Settings]の選択肢にGCC4.2が追加されました!が、[Run]ボタンを押してみるとエラーでビルドならず。
「can't exec '/Applications/Xcode.app/Contents/Developer/user/bin/gcc-4.2'(no such file or directory)」
今まで/DeveloperディレクトリにインストールされていたXcode関連のデータがXcode 4.3 以降はXcode.app内にまとめられてしまったために、参照先違うのでは?という予想。
gcc4.2のインストール先またはXcodeからの参照先を変更すれば良さそう?変更方法を調査中です。
(続く)