build-ndkで以下のようなエラーが出たときの対処法

 OpenCV for Androidのサンプルプログラムをndk-buildで動かそうとしたら発生しました。OpenCVに限らず、他のjniソースでも発生する恐れがありそうなので、同じエラーであれば試してみてください。

・プロジェクトディレクトリ上でndk-buildの実行

$ ndk-build

E:/android-ndk-r5b/toolchains/arm-linux-androideabi-
4.4.3/prebuilt/windows/bin/../lib/gcc/arm-linux-
androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld.exe: 
C:/Users/koyam_000/Desktop/OpenCV-2.3.1-android-
bin/samples/tutorial-3-native/obj/local/armeabi-v7a/libstdc++.a: No 
such file: Permission denied
collect2: ld returned 1 exit status
make: *** [/cygdrive/c/Users/tkoyama/OpenCV-2.3.1-android-
bin/samples/tutorial-3-native/obj/local/armeabi-
v7a/libnative_sample.so] エラー 1

原因:
 対象のファイルがndk-buildするための権限を与えていないためにndk-buildの実行が失敗します。

対策:
 プロジェクトフォルダに権限を与えてあげましょう。簡単なのはchmod 777ですが、他のユーザとフォルダを共有しているときは数字を下げた方が良いかもしれません。とりあえず、ご自身の実行権限さえ付与すればOKだと思います。

例: -Rでフォルダ内のファイル全てに適用。

$ chmod -R 777 ./TestProject

以上です。