2011-11-14 11 views
9

मैं नवीनतम एंड्रॉयड NDK साथ समस्या हो रही हूँ:समस्याओं एंड्रॉयड 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 चींटी पर हूँ इस मुद्दे को और इसी तरह की समस्याओं के साथ इस जापानी साइट पाया:

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

मुझे आशा है कि मैं सही ढंग से गूगल अनुवादित सामान बाहर हैरान - किसी भी मामले में, मूल रूप से में नए NDK स्थापित करते हैं, इस निर्देशिका लगता है:

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

और "awk_"

मैं इस किया था और ndk_build अब मेरे लिए काम करता कुछ और करने के लिए फ़ाइल "awk" वहाँ नाम बदलें। अगर मैं मेक फाइलों को पढ़ रहा हूं, तो वहां एक फ़ाइल है जिसे init.mk कहा जाता है जो आपके HOST_AWK को प्रीबिल्ट वैल्यू के साथ बदल देता है यदि उसे लगता है ... तो अजीब फ़ाइल का नाम बदलकर आपके गॉक पर वापस आ जाता है।

आशा है कि मदद करता है

Kibi

+1

मजेदार बात। मेरे लिए भी काम किया, धन्यवाद! – simonescu

+0

यह समाधान तब लागू होते हैं जब आप लिनक्स के 32 बिट संस्करण चला रहे हों। यह समस्या 64 लिनक्स वितरण पर नहीं होती है। – Samuel

+3

ध्यान दें कि विंडोज़ पर, समकक्ष मेरे लिए काम करता था, सिवाय इसके कि मुझे prebuilt/windows/bin फ़ोल्डर के अंदर फ़ाइल awk.exe का नाम बदलना पड़ा। – aardvarkk

6
समस्या

, निष्पादन योग्य NDK/prebuild/लिनक्स-86/awk x86_64 के लिए संकलित किया गया है है कि यह एक 32 बिट कर्नेल

+0

आह, जोएल को समझाते हुए धन्यवाद – Kibi

1
  1. अद्यतन में नहीं चल रहा है आपका स्थानीय अजीब
  2. एंड्रॉइड-एनएनडी में स्वयं को अजीब हटा दें।

इससे समस्या का समाधान होना चाहिए।

0

मुझे विंडोज़ पर अजीब संस्करणों के साथ समस्या हो रही थी। यह परिवर्तन एक सिग्विन कंसोल से अजीब के सिग्विन संस्करण और डॉस कंसोल से प्रीबिल्ट संस्करण का उपयोग करता है।

जोड़ें 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 

@Tod निम्न पंक्ति

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

बदलें: धन्यवाद, मैं यहाँ

काम करता है कि आपके संकेत का इस्तेमाल किया।

1

मुझे सिग्विन और एनडीके 8 के साथ खिड़कियों पर ग्रहण से चलने वाली एक ही समस्या थी।> C/C++ बिल्ड - - मूल्य /cygdrive/[cygwin installdir]/bin/gawk

साथ> पर्यावरण (साथ ही C/C++ bash -c ndk-build के आदेश का निर्माण सेट करने के लिए)

मैं परियोजना संपत्तियों के तहत एक वातावरण चर के रूप में HOST_AWK जोड़ने के लिए किया था

संबंधित मुद्दे