操作系统:macOS 10.13.3 IDE:Android studio 1.5.1 克++:4.2.1
场景: 我想使用c ++使用NDK进行开发。当我定义要构建的c ++类时,Gradle Console会返回如下错误:
> src/main/jni/addcomputer.c:23:12: error: expected ';' after top level declarator
jclass Test{
^
;
1 error generated.
make: *** [build/intermediates/ndk/obj/local/arm64-v8a/objs/addcomputer/addcomputer.o] Error 1
:app:ndkBuild FAILED
和我的.cpp如下:
#include "com_BTC_ui_JNI.h"
//......
JNIEXPORT jstring JNICALL
Java_com_BTC_ui_JNI_getString(JNIEnv *env, jobject instance)
{
return (*env)->NewStringUTF(env, "mytest-sample-x");
}
JNIEXPORT jint JNICALL
Java_com_BTC_ui_JNI_plus(JNIEnv *env, jobject instance, jint a, jint b)
{
return a+b;
}
jclass Test{//this is where the error occur
private:
jint mytest;
};
当我打开一个终端来构建一个包含类定义的.cpp文件时,它会返回相同的错误。我找不到原因。任何人都可以帮助我吗?
答案 0 :(得分:0)
错误已经消失了,我刚刚解决了一些基本问题。虽然编译过程没问题,但运行时间已经发生了另一个错误,找不到本机方法的实现。我猜这是由编译引起的。现在我应该关闭这个问题。谢谢所有人关注这个问题。