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++用這種格式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章