В настоящее время я использую в проекте как C ++, так и Java, и я хотел бы иметь возможность отправить объект, содержащийся в C ++, на мой интерфейс Java, чтобы изменить его через графический интерфейс, а затем отправить модификацию обратно в C ++.
До сих пор я возвращал либо ничего, ни int, ни логическое значение в Java через интерфейс JNI. На этот раз я должен отправить объект через интерфейс. Я сделал подобное определение класса доступным как в C ++, так и в Java. Я хотел бы знать, как мне создать объект, чтобы использовать его в Java.
В C ++ у меня есть:
JNIEXPORT MyObject JNICALL Java_ca_X_Y_Z_C_1getMyObject(JNIEnv* env, jclass, jint number);
Эта функция будет вызываться Java для получения объекта со стороны C ++ (объект содержится в одноэлементном, легко доступном).
На Java я делаю простой вызов этого метода,
MyObject anObject = C_getMyObject(3);
который должен вернуть мне только что созданный объект.
Java в настоящее время возвращает мне UnsatisfiedLinkError, когда я делаю фактический вызов. Что не так?