在android 里使用JNI,总是报错
packages/apps/SystemMointor/jni/proc_reader.c:78: error: request for member 'GetStringUTFChars' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:92: error: request for member 'FindClass' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:94: error: request for member 'NewObjectArray' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:96: error: request for member 'FindClass' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:98: error: request for member 'GetFieldID' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:99: error: request for member 'GetFieldID' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:108: error: request for member 'SetObjectField' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:108: error: request for member 'NewStringUTF' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:116: error: request for member 'SetObjectField' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:118: error: request for member 'SetObjectArray' in something not a structure or union
我已经include了jni.h
packages/apps/SystemMointor/jni/proc_reader.c:78: error: request for member 'GetStringUTFChars' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:92: error: request for member 'FindClass' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:94: error: request for member 'NewObjectArray' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:96: error: request for member 'FindClass' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:98: error: request for member 'GetFieldID' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:99: error: request for member 'GetFieldID' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:108: error: request for member 'SetObjectField' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:108: error: request for member 'NewStringUTF' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:116: error: request for member 'SetObjectField' in something not a structure or union
packages/apps/SystemMointor/jni/proc_reader.c:118: error: request for member 'SetObjectArray' in something not a structure or union
我已经include了jni.h
解决方案 »
- achartengine 折线图 5个点只显示2个点的值,为什么?
- 关于JNI下c++访问jar的问题。
- 如何在pc上判断android手机是否已和pc连接为调试模式
- 几个简单的小问题
- 求助SeekBar~
- 求指点!如何开打rom里面的system.img文件!
- android上调用系统的硬解码
- android,小白遇到问题不懂,求助各位大神
- java.lang.IllegalStateException: eglMakeCurrent failed EGL_BAD_ALLOC谁遇到过这个异常?
- 手机root了 怎么修改系统文件 实现充电就开机
- 进来讨论下关于android的学习方向
- Android怎样结束除主线程外的所有线程
如果是c程序,要用 (*env)->
如果是C++要用 env->ps:在linux下如果.c文件中用 “env->” 编译会找不到此结构,必须用“(*env)->”,或者改成.cpp文件,以 c++的方式来编译。以下是两者的区别:jni.h中struct JNINativeInterface_;struct JNIEnv_;#ifdef __cplusplus
typedef JNIEnv_ JNIEnv;
#else
typedef const struct JNINativeInterface_ *JNIEnv;
#endif/*
* We use inlined functions for C++ so that programmers can write:
*
* env->FindClass("java/lang/String")
*
* in C++ rather than:
*
* (*env)->FindClass(env, "java/lang/String")
*
* in C.
*/即C++中使用
env->FindClass("java/lang/String")
C中使用(*env)->FindClass(env, "java/lang/String")
如你*(p)->next报错 你定义一个q q=*p; q->next;
PS 我用的是Cygwin编译。
int center_molecule(molecule *m)
{
int i,j;
double xcen,ycen,zcen;
xcen=ycen=zcen=0;
for (i=0;i<3;i++){
for (j=0;j<4;j++){
if (m.RESIDUE[i].ATOM[j].selected){
xcen+=m.RESIDUE[i].ATOM[j].x;
ycen+=m.RESIDUE[i].ATOM[j].y;
zcen+=m.RESIDUE[i].ATOM[j].z;
//natoms++;
}
}
} xcen/=12;
ycen/=12;
zcen/=12;
for (i=0;i<3;i++){
for(j=0;j<4;j++)
{
m.RESIDUE[i].ATOM[j].x-=xcen;
m.RESIDUE[i].ATOM[j].y-=ycen;
m.RESIDUE[i].ATOM[j].z-=zcen;
}
}
return(0);
}
请求指教!!!!