私はこれをコンパイルしようとします:
#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 で戻り値の型をどのように宣言する必要があるかということです。ありがとう!