2011年4月16日土曜日

[Andriod-NDK] ERROR: You are using a non-Cygwin compatible Make program.

How to solve the problem about Android-NDK

Androidアプリケーションのネイティブコードを開発するためのAndroid NDKを使ってみたらタイトルのようなエラーが出ました。
WindowsにCygwinをインストールし、ndk-buildのあるフォルダーにパスを通しndk-buildを実行した結果です。


GNU Makeのインストールが必要とのことですが、Cygwinのsetup.exeを実行して確認ししてもちゃんとインストールされています。

原因はndk-buildを保存したフォルダー名にスペースを使っていたことでした。
D:\Program Files\android-ndk-r5b というパスがスペースを含んでいるのでエラーになってしまいます。
(よく見るとエラーメッセージにヒントが表示されています)

"/cygdrive/d/Program Files/android-ndk-r5b/ndk-build"
(ダブルクオーテーションで囲む方法)や
/cygdrive/d/Program\ Files/android-ndk-r5b/ndk-build
(スペースの前に\をつける方法)も試しましたが結果はどちらもエラーでした。

スペースを含まないシンボリックリンクを作ってもエラーが起こりました。
ln -s /cygdrive/d/Program\ Files/android-ndk-r5b/ androkd-ndk
~/androkd-ndk/ndk-build


android-ndk-r5bフォルダーをDドライブ直下(D:\android-ndk-r5b)に移動しパスを設定し直したら解決しました。
フルパスにスペースを含んでいなければエラーになりません。
詳しくはndk-buildのソースを参照してください。

Android SDKはD:\Program Files\以下にインストールしてもパスに関するエラーが起こったことがないのでウッカリしてしまいました。

以上、参考になれば幸いです。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。