问题描述
从java代码使用本机dll时有没有遇到过这个错误?
它是JNI库的版本吗?或未解决的依赖?
has anyone encountered that error while using native dll from java code?Is it the version of the JNI library? or an unresolved dependency?
错误:
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)
这是一个新的库我正在使用,其他工作正常。
This is a new library I'm using, the others working fine.
推荐答案
jnwasapi.dll
的 JNI_OnLoad
函数可能返回-1,这不是预期的值。 JNI_OnLoad
函数必须返回带有已知常量的 jint
,例如 JNI_VERSION_1_6
。 JNI_OnLoad
函数通常会在初始化失败时返回-1。例如,它可能试图加载一个无法找到的类。
The jnwasapi.dll
's JNI_OnLoad
function is probably returning -1, which is not an expected value. The JNI_OnLoad
function must return a jint
with a known constant, such as JNI_VERSION_1_6
. It's common for JNI_OnLoad
functions to return -1 if they fail to initialize. For example, it may have tried to load a class which couldn't be found.
这篇关于不支持的JNI版本0xFFFFFFFF的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!