gpt4 book ai didi

java - 返回 native 字节缓冲区的 Java 方法的 JNI GetMethodID

转载 作者:行者123 更新时间:2023-12-01 11:19:21 30 4
gpt4 key购买 nike

我需要从 Java 创建的 native 字节缓冲区创建 opencv::Mat。但是,当我尝试获取返回 ByteBuffer 的 java 方法的 methodID 时,出现段错误。我还包含了 onMeshGenerate 函数,因为从 JNI 获取和调用该方法没有任何问题。

Java 代码:

public void onMeshGenerated() {
mOwner.onMeshGenerated();
}

public ByteBuffer getRGBData() {
return mOwner.getRGBData();
}

JNI 代码:

JNIEXPORT void JNICALL Java_com_aquifi_facescan_Scanner3DNativeAPI_Start
(JNIEnv * env, jobject obj)
{
jclass cls = env->GetObjectClass(obj);
javaOnMeshGeneratedMethodRef = env->GetMethodID(cls, "onMeshGenerated", "()V");
javaOnGetRGBMethodRef = env->GetMethodID(cls, "getRGBData", "()Ljava/nio/ByteBuffer;");
// Segfault on the line above
.
.
.

}

如有任何建议,我们将不胜感激。

最佳答案

谢谢两位的回复。卸载应用程序、清理构建并重新启动 Eclipse 后,一切正常。

关于java - 返回 native 字节缓冲区的 Java 方法的 JNI GetMethodID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31443282/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com