2012-12-28 50 views
-2

Android項目: 我有溫度。文件:env-> GetFloatArrayElements錯誤的Android

 /* DO NOT EDIT THIS FILE - it is machine generated */ 
    #include <com_jp_algi_Corelib.h> 
      /* Header for class com_jp_algi_Corelib */ 
     #ifdef __cplusplus 
     #define EXTCFUNC extern "C" 
      #elseif 
     #define EXTCFUNC extern 
     #endif 




     JNIEXPORT jfloatArray JNICALL Java_com_jp_algi_Corelib_vector 
     (JNIEnv * env, jobject clazz, jfloatArray input){ 

     jfloatArray result; 




       } 

       jfloat* flt1 = env->GetFloatArrayElements(input,0) 

;通過insiperd:Eiegen Android在stackflow。

並有一些錯誤:

C:/AA/FileBroswerActivity/jni/com_jp_algi_Corelib.c:23: error: 'env' undeclared here (not in a function) 
C:/AA/FileBroswerActivity/jni/com_jp_algi_Corelib.c:23: error: 'input' undeclared here (not in a function) 
/cygdrive/c/android-ndk-r5c/build/core/build-binary.mk:217: recipe for target `/cygdrive/c/AA/FileBroswerActivity/obj/local/armeabi/objs/com_jp_algi_Corelib/com_jp_algi_Corelib.o' failed 
make: *** [/cygdrive/c/AA/FileBroswerActivity/obj/local/armeabi/objs/com_jp_algi_Corelib/com_jp_algi_Corelib.o] Error 1 

16時52分03秒完成建造(帶672ms)

+1

請提供** **所有相關的代碼中,確切(編譯器)錯誤消息,以及 - 最重要的是 - 確實提出了一個問題。 – IInspectable

+0

'jfloat * flt1 = env-> GetFloatArrayElements(input,0)'不在函數體內,如錯誤消息所示。另外,請務必編輯您的問題。至少格式化代碼,以便可以輕鬆閱讀。 – IInspectable

回答

0

您的文章真的不清楚,但你的文件應該是這樣的

  • .h文件:

    #include <jni.h> 
    
    #ifdef __cplusplus 
    extern "C" { 
    #endif 
    
    jfloatArray JNICALL Java_com_jp_algi_Corelib_vector(JNIEnv * env, jobject clazz, jfloatArray input); 
    
    #ifdef __cplusplus 
    } 
    #endif 
    
  • .cpp文件:

    #include "yourheader.h" 
    
    #ifdef __cplusplus 
    extern "C" { 
    #endif 
    
    jfloatArray JNICALL Java_com_jp_algi_Corelib_vector(JNIEnv * env, jobject clazz, jfloatArray input) 
    { 
        jfloat* flt1 = env->GetFloatArrayElements(input,0); 
    } 
    
    #ifdef __cplusplus 
    } 
    #endif 
    

編輯(你的編輯後):

jfloat* flt1 = env->GetFloatArrayElements(input,0); 

超出函數體

+0

好的tahnks,最新的.c文件和.cpp之間的差異?因爲c。拋出這個錯誤和.cpp沒有,但這樣的事情: –

+0

化妝:***沒有規則,使目標'/cygdrive/c/AA/FileBroswerActivity/jni/com_jp_algi_Corelib.c」,由'/ cygdrive/C/AA需要/ FileBroswerActivity/OBJ /本地/ armeabi/OBJ文件/ com_jp_algi_Corelib/com_jp_algi_Corelib.o」。停止。 –