나는 다음과 같은 프로그램컴파일 C 파일 jni.h
PPConverter.java를 컴파일하는 데 문제가 있어요 :
public class PPConverter {
private native void convert(String s);
public static void main(String[] args){
new PPConverter().convert(args[0]);
}
static {
System.loadLibrary("converter");
}
}
converter.c : 나는
#include <jni.h>
#include <stdio.h>
#include "PPConverter.h"
JNIEXPORT void JNICALL Java_PPConverter_convert (JNIEnv *, jobject, jstring){
printf(jstring);
return;
}
을 일하고 있기 때문에 UNIX, converter.c 파일을 컴파일하려면 다음 명령을 사용하고 있습니다.
cc -I/usr/lib/jvm/java-6-openjdk/include converter.c -o libconverter.so
그러나 나는 다음과 같은 오류가 점점 오전 :
converter.c: In function âJava_PPConverter_convertâ:
converter.c:5: error: parameter name omitted
converter.c:5: error: parameter name omitted
converter.c:5: error: parameter name omitted
converter.c:6: error: expected expression before âjstringâ
내가 잘못하고있는 중이 야 무엇을?
오류 메시지를 읽었습니까? 누락 된 부분을 정확하게 알려줍니다. 메소드 서명의 매개 변수 이름입니다. –
나는 쉬어야한다고 생각합니다. 나는 그 것을 놓친다는 것을 믿을 수 없다. – twidizle
함수 이름이 이상합니다. 이름이 유효한 함수 이름인지 확인하십시오. – qrtt1