2011-12-26 9 views
1

アンドロイドのndkのサンプルであるandroid-ndk-r6b/samples/hello-jniをコンパイルしようとしています。Android NDKサンプルコンパイルエラー:string.h:そのようなファイルやディレクトリがありません

私は取得していますコンパイルエラーは次のとおりです。

$:/media/rober/android/android-ndk-r6b/samples/hello-jni$ ndk-build 
    Gdbserver  : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver 
    Gdbsetup  : libs/armeabi/gdb.setup 
    Compile thumb : hello-jni &lt= hello-jni.c 
    /media/rober/android/android-ndk-r6b/samples/hello-jni/jni/hello-jni.c:17:20: error: string.h: No such file or directory 
    /media/rober/android/android-ndk-r6b/samples/hello-jni/jni/hello-jni.c:18:17: error: jni.h: No such file or directory 
    /media/rober/android/android-ndk-r6b/samples/hello-jni/jni/hello-jni.c:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Java_com_example_hellojni_HelloJni_stringFromJNI' 
    make: *** [/media/rober/android/android-ndk-r6b/samples/hello-jni/obj/local/armeabi/objs-debug/hello-jni/hello-jni.o] Error 1 


環境:

 


    Ubuntu 
     $:/media/rober/android/android-ndk-r6b/samples/hello-jni$ lsb_release -a 
     No LSB modules are available. 
     Distributor ID: Ubuntu 
     Description: Ubuntu 11.10 
     Release: 11.10 
     Codename: oneiric 

     Java 
     $:/media/rober/android/android-ndk-r6b/samples/hello-jni$ java -version 
     java version "1.6.0_22" 
     Java(TM) SE Runtime Environment (build 1.6.0_22-b04) 
     Java HotSpot(TM) Server VM (build 17.1-b03, mixed mode) 

     Make 
     $:/media/rober/android/android-ndk-r6b/samples/hello-jni$ make -v 
     GNU Make 3.81 
     Copyright (C) 2006 Free Software Foundation, Inc. 
     This is free software; see the source for copying conditions. 
     There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A 
     PARTICULAR PURPOSE. 
     This program built for i686-pc-linux-gnu 

     AWK 
     $:/media/rober/android/android-ndk-r6b/samples/hello-jni$ awk -W version 
     mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan 
     compiled limits: 
     max NF    32767 
     sprintf buffer  1020 

     Android 
     $:/media/rober/android/android-ndk-r6b/samples/hello-jni$ export | grep ANDROID 
     declare -x ANDROID_HOME="/media/rober/android/android-sdk-linux_86" 
     declare -x ANDROID_NDK="/media/rober/android/android-ndk-r6b/" 
     declare -x ANDROID_NDK_ROOT="/media/rober/android/android-ndk-r6b/" 
     declare -x ANDROID_SDK_HOME="/media/rober/android/android-sdk-linux_86" 

     PATH (splitted by "\n" for easy reading) 
     $:/media/rober/android/android-ndk-r6b/samples/hello-jni$ export | grep PATH | grep bin 
     declare -x PATH=" 
     /media/rober/dev/apache-ant-1.7.1/bin: 
     /media/rober/dev/apache-maven-3.0.3/bin: 
     /media/rober/android/android-sdk-linux_86/platform-tools: 
     /media/rober/android/android-sdk-linux_86/tools: 
     /media/rober/android/android-ndk-r6b/: 
     /usr/lib/lightdm/lightdm: 
     /usr/local/sbin: 
     /usr/local/bin: 
     /usr/sbin: 
     /usr/bin: 
     /sbin: 
     /bin: 
     /usr/games: 
     /media/rober/dev/jdk1.6.0_22/bin: 
     /media/rober/dev/apache-ant-1.7.1/bin: 
     /media/rober/dev/apache-maven-3.0.3/bin: 
     /media/rober/android/android-sdk-linux_86/platform-tools: 
     /media/rober/android/android-sdk-linux_86/tools: 
     /media/rober/android/android-ndk-r6b/ 

私は、環境変数または設定のいくつかの並べ替えを欠けている感じを持っていますこれはndkに、たとえ同じndkディレクトリ構造の中にあっても、どこにstring.hとjni.hファイルを探すべきかを指示しますが、実際に何が起こっているのかは分かりません。

はチップのすべての並べ替えが

答えて

1

EDITに動作しない場合

sudo find/-name string.h 

:私はR7に更新し、すべてはうまく動作し、奇妙です。

0

試してみてください:)非常に歓迎されている

find /media/rober/android/ -name string.h 

または最初

+1

ヘッダーファイルはNDKディレクトリに存在しますが、何らかの理由で見つからない場合があります。
$ find/media/rober/android/-name string.h /media/rober/android/android-ndk-r6b /ソース/ cxx-stl/stlport/stlport/string.h /media/rober/android/android-ndk-r6b/platforms/android-9/arch-x86/usr/include/asm/string.h /media//アンドロイド - 3 /アーチ - x86/usr/include/string.h /メディア/ rober /アンドロイド/アンドロイド - ndk - r6b /プラットフォーム/アンドロイド3 /アーチ - x86 /usr/include/linux/string.h –

+0

実際には、ファイル名はstring.hではありません。あなたはandroid-ndk-r8/sources/cxx-stl/gnu-libstdC++/include/stringと似ています – Dror

関連する問題