[英]Java loadLibrary() cannot locate library after switching from 64 bit jdk to 32 bit
我正在尝试加载本机库,因此会加载原始dll。 但是在另一台运行XP 32位的计算机上,它可以正常工作。 在Win7 64位系统上执行时,将无法加载。 在xp机器上,dll文件可能与类文件位于同一目录中,但是为了不出现不满意的链接错误,我不得不将文件复制到system32文件夹中。 然后它给出了一个错误,指出不能在64位进程上加载32位dll。 我下载了32位jdk,并在项目中设置了jdk以加载32位jdk。 完成该操作后,我再次遇到不满意的链接错误,并且文件仍在system32中以及类文件旁边。 我对为什么使用64位jdk而不是32位jdk会找到该库感到困惑。
...
static {
System.loadLibrary("K8055jni");
}
Exception in thread "main" java.lang.UnsatisfiedLinkError: no K8055jni in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at K8055jni.<clinit>(K8055jni.java:50)
at Test.main(Test.java:4)
我如何获取32位jdk来定位相同的文件?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.