【问题标题】:Error base operand of '->' has non-pointer type 'JNIEnv {aka _JNIEnv}' when create NDK project创建 NDK 项目时,“->”的错误基操作数具有非指针类型“JNIEnv {aka _JNIEnv}”
【发布时间】:2014-08-07 09:12:12
【问题描述】:

我创建了我的第一个 NDK 项目,它在屏幕上显示一些文本。 我在 java 中的 NativeLib 类中使用本地方法,并在 C 中的类中实现。 但我收到一个错误基操作数“->”有非指针类型“JNIEnv {aka _JNIEnv}

 #include <jni.h>
 #include <string.h>
 #include <stdio.h>
 #include <android/log.h>

#define DEBUG_TAG "MY_NDK_DEMO"
JNIEXPORT jstring JNICALL Java_com_example_helloworld_NativeLib_helloWorld
  (JNIEnv * env, jobject obj) {
    return (*env)->NewStringUTF("Hello World JNI!");
}

【问题讨论】:

标签: android android-ndk native-code


【解决方案1】:

试试return env-&gt;NewStringUTF("Hello World JNI!");

【讨论】:

  • 为什么 C++ 有不同?
【解决方案2】:

c++ 与 c 不同 所以让它工作 采用 env->NewStringUTF("Hy");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多