2013-10-23 97 views
0

有沒有人在使用java代碼中的原生dll時遇到該錯誤? 它是JNI庫的版本嗎?或未解決的依賴?不受支持的JNI版本0xFFFFFFFF

錯誤:

Caused by: java.lang.UnsatisfiedLinkError: unsupported JNI version 0xFFFFFFFF required by C:\jnwasapi.dll 
at java.lang.ClassLoader$NativeLibrary.load(Native Method) 
at java.lang.ClassLoader.loadLibrary1(Unknown Source) 
at java.lang.ClassLoader.loadLibrary0(Unknown Source) 
at java.lang.ClassLoader.loadLibrary(Unknown Source) 
at java.lang.Runtime.loadLibrary0(Unknown Source) 
at java.lang.System.loadLibrary(Unknown Source) 

這是我使用的是一個新的圖書館,其他工作正常。

+0

該庫是否針對比現有運行時更新版本的Java進行編譯? – Samhain

+0

我這麼認爲,你認爲我需要改變Java版本?還是我可以再編譯一次? –

+0

我會重新編譯一遍,並確保您正在鏈接您當前的jdk。圖書館是否實施了「JNI_OnLoad」? http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/invocation.html – Samhain

回答

5

jnwasapi.dllJNI_OnLoad函數可能返回-1,這不是預期值。 JNI_OnLoad函數必須返回jint與已知常數,如JNI_VERSION_1_6。如果JNI_OnLoad函數未能初始化,則返回-1是很常見的。例如,它可能試圖加載一個無法找到的類。

相關問題