サンプルプログラムでエラー。
hellojni
cygwinからプロジェクトをビルドしようとしたところ、
ndk-buildで
Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Nawk !
とエラーが表示される。
参考:
http://d.hatena.ne.jp/none53/20111205/1323077921
gawk.exeはcygwin\binに入ってて、同フォルダ内のawkが、gawkへのリンクになってる。
それで、はじめに読み込まれていたandroid-ndk-r7\prebuilt\windows\binの中のawk.exeは使わずに、cygwin\binのgawkを使うべきだったらしい。
ということで、android-ndk-r7のawk.exeの名前を変えればいいということらしい。
awk.exe -> awk_.exe
のようにする。
これで終わり。
設定完了後、hello-jniフォルダで
ndk-build -B
を実行。
そうすると、libsフォルダが作られて、.soファイルが中にコピーされる。
-------------------------------
さらに、eclipseで自動でndk-buildを実行できるようにする。
参考
http://blog.cnu.jp/2011/07/05/build-ndk-in-eclipse/ これはMac用でちょっと違うらしい。
http://mobilepearls.com/labs/ndk-builder-in-eclipse/
を参照。ただし、これだけではうまくできない。
windows用で.batファイルを使うことで解決。
http://blog.malrone.info/archives/1535
この中で、処理が遅いから、-loginを使わないと書いてあるけど、-loginしないとmakeとか使えなくて、コンパイルできず。
ということで、Cygwin.batを以下のように記述。
ちょっと長いけど、フォルダを変更することなく、実行可能。
それと、cygwin環境だと、"c:/"が"/cygdrive/c/"と表されるけど、どちらでもいいみたい。
c:/cygwin/bin/bash -login -c "c:/programming_environment/android-ndk-r7/ndk-build -C c:/programming_environment/android-ndk-r7/samples/hello-jni"
0 件のコメント:
コメントを投稿