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