JNI错误之:error: base operand of '->' has non-pointer type '_JNIEnv'

参考:http://hepeng421.blog.163.com/blog/static/11948517201402344215411/

写这个代码时报错:pEnv->NewStringUTF(),
仔细一看原来是:因为c和c++对JNIEnv的定义是不同的,从jni.h下面代码看得出来
这么来解决问题:


1》使用c++来写代码,文件名就必须【cpp】后缀:
 C++ code must have .cpp extension.,必须cpp后缀,c后缀不行;
2》使用c来写代码,文件名就必须【c】后缀;

2》调用的代码这么来写:
//return (*env)->NewStringUTF(env, "Hello from JNI !");//如果是用C语言格式就用这种方式
//return env->NewStringUTF((char *)"Hello from JNI !");//C++用这种格式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章