Та же проблема - исправлена. В моем случае я использую openFrameworks, поэтому я не знаю, относится ли это к не-openFrameworks проектам (не тестировал). Однако, похоже, что первые два аргумента во внешней функции - это всегда «env» и «thiz», и их необходимо явно определять для каждой новой функции extern.
extern "C"{
// casts the variable properly
void Java_com_package_JavaClass_someFunction( JNIEnv* env, jobject thiz, jboolean yourBool ){
myTestApp->someFunction( (bool) yourBool );
}
// "yourBool" will always be "1" because its taking the spot of "thiz" which is not null
void Java_com_package_JavaClass_someFunction( JNIEnv* env, jboolean yourBool ){
myTestApp->someFunction( (bool) yourBool );
}
// "yourBool" will always be "1" because its taking the spot of "env" which is not null
void Java_com_package_JavaClass_someFunction( jboolean yourBool ){
myTestApp->someFunction( (bool) yourBool );
}
}