jni.h: brak takiego pliku lub katalogu
Używam Code :: Blocks w oknach.
Stworzyłem projekt dll, starając się zdobyć trochę praktyki JNI.
W moim pliku .h wygenerowanym przez javah, jest #include jni.h, ale kiedy próbuję go skompilować, ciągle powtarza jni.h: nie ma takiego pliku lub katalogu.
Myślę, że ma to coś wspólnego ze ścieżką klasy, ale nie wiem, co to jest! To prawdopodobnie ustawienie, które muszę zmienić w Code :: Blocks
Czy ktoś mógłby mi pomóc to naprawić? Wielkie dzięki
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class Vector3D */
#ifndef _Included_Vector3D
#define _Included_Vector3D
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: Vector3D
* Method: magnitude
* Signature: ()D
*/
JNIEXPORT jdouble JNICALL Java_Vector3D_magnitude
(JNIEnv *, jobject);
/*
* Class: Vector3D
* Method: mult
* Signature: (LVector3D;I)LVector3D;
*/
JNIEXPORT jobject JNICALL Java_Vector3D_mult
(JNIEnv *, jobject, jobject, jint);
/*
* Class: Vector3D
* Method: equals
* Signature: (LVector3D;)Z
*/
JNIEXPORT jboolean JNICALL Java_Vector3D_equals
(JNIEnv *, jobject, jobject);
/*
* Class: Vector3D
* Method: dotProduct
* Signature: (LVector3D;LVector3D;)D
*/
JNIEXPORT jdouble JNICALL Java_Vector3D_dotProduct
(JNIEnv *, jclass, jobject, jobject);
/*
* Class: Vector3D
* Method: makeNormalized
* Signature: (LVector3D;)LVector3D;
*/
JNIEXPORT jobject JNICALL Java_Vector3D_makeNormalized
(JNIEnv *, jclass, jobject);
/*
* Class: Vector3D
* Method: crossProduct
* Signature: (LVector3D;LVector3D;)LVector3D;
*/
JNIEXPORT jobject JNICALL Java_Vector3D_crossProduct
(JNIEnv *, jclass, jobject, jobject);
#ifdef __cplusplus
}
#endif
#endif
EDYTOWAĆ:
Więc zrobiłem Ustawienia -> Kompilator i debugger -> Wyszukaj katalogi -> i dodałem "$ (JAVA_HOME) include" i "$ (JAVA_HOME) include32" pod kompilatorem i udało się go znaleźć!