2011-11-14 11 views
9

私は最新のAndroid NDKに問題が生じています:問題のAndroid NDK-7とAWK

[email protected]:~$ ndk-build 
/home/ligi/bin/android-ndk/prebuilt/linux-x86/bin/awk: 1: ELF: not found 
/home/ligi/bin/android-ndk/prebuilt/linux-x86/bin/awk: 4: Syntax error: word unexpected (expecting ")") 
Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Nawk !  
/home/ligi/bin/android-ndk/build/core/init.mk:258: *** Android NDK: Aborting. . Stop. 

[email protected]:~$ `echo $HOST_AWK --v` 
GNU Awk 3.1.7 

私は完全に私も持っていた

答えて

33

検索のためのアイデアや優れたキーワードのうち、株式Ubuntuのアリの午前この問題と同様の問題で、この日本のサイトが見つかりました:私は私が正しくGoogleの翻訳のものを困惑を願ってい

http://d.hatena.ne.jp/yohpapa/20111113/1321198570

を - どのような場合には、基本的に新しいNDKは、このディレクトリを見つけ、インストール中:

..../android-ndk-r7/prebuilt/linux-x86/bin 

とファイル名を変更「awkの」そこ「awk_」のような何か他のものに

を私はこれをしなかったとndk_buildは今私のために動作します。もし私がmakeファイルを読んでいるのであれば、init.mkというファイルがあります。あなたのHOST_AWKを見つけたらそれをprebuilt値に置き換えます。そうすればawkファイルの名前をあなたのgawkに戻します。

吉備

+1

面白いことです。ありがとう、私のために働いた! – simonescu

+0

この解決策は、32ビットバージョンのLinuxを実行している場合に適用されます。この問題は、64 Linuxディストリビューションでは発生しません。 – Samuel

+3

Windows上では、あらかじめ作成された/ windows/binフォルダ内のファイルawk.exeの名前を変更しなければならないことを除けば、同等の機能が働いたことに注意してください。 – aardvarkk

6

を助けホープ問題は実行可能NDK /事前に作成/のlinux-x86の/ awkのはx86_64の用にコンパイルされ、それが32ビットカーネルで

+0

ああ、ジョエル – Kibi

1
  1. Updateを実行していないですあなたのローカルawk。
  2. android-ndk自体のawkを削除してください。

これで問題が解決するはずです。

0

Windows上のさまざまなバージョンのawkに問題がありました。この変更はcygwinコンソールのcygwinバージョンawkとdosコンソールの事前ビルドバージョンを使用します。

init.mkに追加:

ifeq ($(HOST_OS),cygwin) 
     HOST_AWK := /bin/awk 
endif 
1

ゴーあなた<ndk_dir>\build\core\し、テキストエディタで開いてinit.mkに、例えば

ifeq ($(HOST_OS),cygwin) 
     HOST_AWK := $(wildcard $(HOST_PREBUILT)/gawk$(HOST_EXEEXT)) 
else 
     HOST_AWK := $(wildcard $(HOST_PREBUILT)/awk$(HOST_EXEEXT)) 
endif 

とメモ帳

次の行を置き換え

HOST_AWK := $(wildcard $(HOST_PREBUILT)/awk$(HOST_EXEEXT)) 

@Tod:おかげで、私はここに

をあなたのヒントを使用し動作します。

1

cygwinとNDK8のあるウィンドウでEclipseから同じ問題が発生しました。

私はプロジェクトのプロパティの下に環境変数としてHOST_AWKを追加する必要がありました - > C/C++ビルド - >値/cygdrive/[cygwin installdir]/bin/gawk

(同様にbash -c ndk-buildにコマンドを構築し、C/C++を設定すること)と環境に