我尝试编译这个:
#include <stdio.h>
#include <jni.h>
#include "callJNITest.h"
JNIEXPORT jint JNICALL Java_callJNITest_displayHelloWorld
(JNIEnv env, jclass jcls) {
printf("Hello World!");
return 1;
}
但我总是收到这些错误:../HelloWorldJNI.c:5:24:错误:'Java_callJNITest_displayHelloWorld'的类型冲突../callJNITest.h:15:24:注意:'Java_callJNITest_displayHelloWorld'的先前声明在这里 make:* [HelloWorldJNI.o] 错误 1
在这种情况下也发生了错误:
JNIEXPORT void JNICALL Java_callJNITest_displayHelloWorld
(JNIEnv env, jclass jcls) {
printf("Hello World!");
return;
}
但
JNIEXPORT JNICALL Java_callJNITest_displayHelloWorld
(JNIEnv env, jclass jcls) {
printf("Hello World!");
return;
}
工作正常。我的问题是如何在 JNI 中声明返回类型?谢谢!