Application.mkの登場です | Android系女史

Android系女史

Android開発など雑多なプログラムの愚痴でもしています。

Android.mkにC++のプログラムを付け加えてはビルド。
それをしていると問題に当たりました。
iostream: No such file or directory
要はプログラムファイル内で
#include <iostream>
としているのですがiostreamがないですよーとそういうこと。

調べてみるとApplication.mkというのをjniフォルダ以下に作成して内部に
APP_STL := gnustl_static
と付け加えてやればいいらしい。

早速Application.mkを作成してビルドし直す。
/パス/obj/local/armeabi/libgnustl_static.a: No such file: Permission denied
とエラーが出た。
エラー内容にあったパスを見てみるとlibgnustl_static.aはあるので
どうやらPermissionがない模様。
ビルド時にandroid-ndkのフォルダからilbgnustl_static.aをobjフォルダにコピーしていて
このコピー前のlibgnustl_static.aのPermissionが000だったのが原因。
元ライブラリは
android-ndkのフォルダ/sources/cxx-stl/gnu-libstdc++/libs/armeabi
にあるのでここにread権を付加したらビルドが通った。