gpt4 book ai didi

Java加载一个DLL,该DLL从JNI中的另一个DLL导出方法

转载 作者:太空宇宙 更新时间:2023-11-04 12:51:42 25 4
gpt4 key购买 nike

我做了一个 DLL,它从 JNI 中的另一个 DLL 导出方法。

    JNIEXPORT bool JNICALL getIsWordInPhonemListFR(const char* word)
{
isWordInPhonemListFR method = NULL;
BOOL fRunTimeLinkSuccess = FALSE;

HINSTANCE hGetProcIDDLL = LoadLibrary(L"PhoneticEngineFR2.dll");
if (!hGetProcIDDLL) {

std::cout << "kcould not load the dynamic library" << std::endl;

}else{
method = (isWordInPhonemListFR)GetProcAddress(hGetProcIDDLL, "isWordInPhonemListFR");
}

return method(word);
}

Java 中的 System.load 没有给出任何错误,但是当我想使用我的 native 方法时,我得到一个

java.lang.UnsatisfiedLinkError:

这两个 DLL 都在我项目的同一个文件夹中。在 visual studio 中工作时它工作正常,但在 JNI 中导出时出现问题。 JNI onLoad 也不会在 java 中触发。

谢谢

最佳答案

我很笨,我的所有 JNI 导出方法都有一个命名空间。因此,他们没有被处决。现在可以了。

关于Java加载一个DLL,该DLL从JNI中的另一个DLL导出方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48749723/

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