如何在JNI項目中修復UnsatisfiedLinkError(無法找到依賴庫)我正在開發一個使用JNI的Java項目。JNI調用我自己編寫的自定義庫,比如mylib.dll,這取決于第三方庫libsndfile-1.dll。當我運行我的程序時,它崩潰了java.lang.UnsatisfiedLinkError: C:\...path...\mylib.dll: Can't find dependent libraries.我搜索了這個網站(和其他人),我嘗試了一些修復:我跑了依賴沃克。DW給出了一些警告 - libsndfile,MPR.DLL和SHLWAPI.DLL所需的兩個庫具有“未解析的導入” - 但DW FAQ表示可以安全地忽略這些警告。我修復了mylib.dll中的方法名稱,如此處所示。方法名稱在某種程度上被編譯器破壞了,但我添加了鏈接器標志,現在dll方法名稱與我的jni頭文件中的名稱完全匹配。我將所有這些DLL放在同一目錄中 - 與調用它們的.jar相同的目錄 - 以確保它們位于正確的PATH上。沒有骰子。有誰知道發生了什么事?我正在使用MacBook pro(通過Parallels)在Visual Studio 2010中進行開發。我正在使用toshiba筆記本電腦在Windows XP上進行測試。
添加回答
舉報
0/150
提交
取消