2012/02/19

Android上で動くgccの導入

2017/11/20 追記
Android 5.0以上ならTermuxでClangを使用できます → Termuxの備忘録
追記ここまで


前からAndroid上で動くgccが欲しいなぁと思っていたのですが、半年以上前にciel氏(@cielavenir)が作成されていました。凄い。

Marijuana氏のツイートを見て、同じくFDcloneをAndroid上で動かしたいな、と思っていたところ、ciel氏がFDcloneをビルドして下さったところから、Android上で動くgccがあることを知りました。

ciel氏のDropboxで共有されているファイルの一覧から以下のファイルをダウンロード。
  • android_gcc_r2a.tar.bz2
  • android_gcc_supplement.tar.bz2
adbでIS01に接続し、/data/local/に「gcc」ディレクトリを作成(パーミッションは775)後、2ファイルを展開。
/data/localのパーミッションが771なので、connect botで操作する時もファイルの一覧が見られるようにパーミッションを775に変更。

普段はconnect botでシェルをbashにしているので、~/.bashrcにgccなどへのパスの設定とライブラリのパスの設定を追加。

PATH=$PATH:/data/local/gcc/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/gcc/lib
簡単なソースを書き、コンパイルして作成された実行ファイルが動くことを確認。


FDcloneの導入は、Marijuana氏のサイトrattcv氏のブログ(2012/02/17)を参考にして下さい。

IS01ではciel氏のビルドされたFDcloneだと
reloc_library[1302]: 9496 cannot locate 'killpg'...CANNOT LINK EXECUTABLE
となり、動作しなかったので、自分でビルドすることに。
#Android2.xと1.6の差か…

2012/05/19 追記
Android NDKのヘッダーファイルを見るとkillpg()がサポートされているのはAPIレベルが8以上、つまりAndroid 2.2以上のようです。

0 件のコメント:

コメントを投稿