通过 JNI 将C++类返回到 Java
2022-09-03 01:47:57
我目前在项目中同时使用C++和Java,我希望能够将C++中包含的对象发送到我的Java接口,以便通过GUI对其进行修改,然后在C++中发送回修改。
到目前为止,我一直没有通过JNI接口向Java返回任何内容,int或布尔值。这次我必须通过界面发送一个对象。我已经在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目前在我执行实际调用时返回一个不满意的LinkError。怎么了?