MacでiPod touch用アプリのコンパイルを行う(クロスコンパイル)方法

Mac上でiPod touch用のアプリケーションの開発を行おうと思っても、iPod touchではarmというCPUアーキテクチャを使っているため、x86アーキテクチャを使っているMacなどではiPod touch用のオブジェクトコードを出力することができません。

しかし公式SDKの中に含まれるgccコンパイラを使えば、iPod touch向けコードを生成することができます。

まずApple公式ページよりiOS SDKをダウンロードします。

そして次のコマンドを実行することでiPod touch用にソースをコンパイルすることができます。

/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv6
– isysroot/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk -o hell o hello.c

なお、-frameworkオプションも使えるため-framework Foundationという風にオプションを追加すればObjective-Cのソースもコンパイルすることができます。

参考:
iOS Dev Center – Apple Developer

Toolchain 2.0 – The iPhone Wiki

iPhone,iPod touch,iPadにGCCをインストールする方法

iPod touch上にGCCをインストールし、C言語の開発ができるようにしましょう。

1.Cydiaの下部にあるタブでManage(管理)をタップし、SettingsでDeveloperを選択する。
2.Searchで「Gnu C compiler」「iPhone tool chain 2.0」「ldid」「fake-libgcc」をインストールする。
3.必要ファイルを追加する

http://rapidshare.com/files/66800884/lib.rar

lib.rarをダウンロード、解凍する(passはaksblog.co.nr)。

そして、下記の3つのファイルを/usr/libにコピーする。

  • libgcc_s.1.dylib
  • libSystem.dylib
  • libsystem.B.dylib

以上でiPod touch上でC言語のソースファイルをコンパイルできるようになります。

ただgcc hello.cのようにするとerror: stdio.h: No such file or directoryと言われるためgcc -I /var/include/ hello.c でヘッダファイルがあるディレクトリを指定します。(symlinkを貼れば解決?)

参考:
pxsta’s Memo » GCC

Linuxをはじめよう!:iPhone/iPod touchでC言語プログラミング(改訂2)