簡體   English   中英

Java加載一個從JNI中的另一個DLL導出方法的DLL

[英]Java loading a DLL that export methods from another DLL in JNI

我做了一個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沒有給出任何錯誤,但是當我想使用本機方法時,我得到了

java.lang.UnsatisfiedLinkError:

這兩個DLL都在我的項目中的同一文件夾中。 在Visual Studio中工作時工作正常,但JNI中的導出存在問題。 JNI onLoad也不會在Java中觸發。

謝謝

我很笨,我所有的JNI導出方法都有一個命名空間。 因此,它們沒有被執行。 現在可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM