0
我在寫一個Android應用程序,它通過jni與C++(不是C)進行通信。我能夠成功傳遞一個jstring,所以安裝程序可以工作,但現在我想傳遞一個jintarray。但是,代碼在本地方法返回一個不滿意的鏈接錯誤,所以我認爲我沒有正確地返回一個jintarray。傳遞jIntArray給出不滿意的鏈接錯誤
extern "C" {
JNIEXPORT jintArray JNICALL Java_com_example_optimuse_MainActivity_generate(JNIEnv* env, jobject thiz, jintArray arr);
};
JNIEXPORT jintArray JNICALL Java_com_example_optimuse_MainActivity_generate(JNIEnv* env, jobject thiz){
int mymusic[6];
mymusic[0]=60;
mymusic[1]=64;
mymusic[2]=67;
mymusic[3]=72;
mymusic[4]=67;
mymusic[5]=64;
jintArray jmymusic = env->NewIntArray(6);
env->SetIntArrayRegion(jmymusic, 0, 6, mymusic);
return jmymusic;
}
而且我把這種在Java這樣的:
int[] music = generate();
我想我做一些基本錯誤。有任何想法嗎?
你的函數定義從聲明的區別(它有一個參數以下)。 – Michael 2012-07-27 13:14:31