gpt4 book ai didi

AMD 64 位平台上的 java.lang.UnsatisfiedLinkError : C:\. ..\xxx.dll : Can't load this . dll(机器代码 = 0xbd)

转载 作者:行者123 更新时间:2023-12-02 09:34:32 27 4
gpt4 key购买 nike

我想加载 DLL 库来使用它,但我对此消息有一点问题

java.lang.UnsatisfiedLinkError: C:\xx\xx.dll: Can't load this .dll (machine code=0xbd) on a AMD 64-bit platform

这是我用来加载 DLL 库的代码

String arch = System.getProperty(ARCH_OS_CONSTANT);
if (arch.equals("32")) {
System.load("C:\\..\\xx.dll");
} else if (arch.equals("64")) {
System.load("C:\\xx\\xx.dll");
}

仍然有同样的问题,我希望我找到了解决方案,谢谢

最佳答案

我猜测 ARCH_OS_CONSTANT 的值是 "os.arch" - 标准属性名称。

如果是这样,您的代码假设 Intel/AMD 32 位的 "os.arch" 值将为 "32"。这是不正确的。根据this Q&A ,该值实际上是 "x86",对于 Intel/AMD 64 位,它将是 "amd-64""x86-64"

还有一个名为“sun.arch.data.model”的属性,其值为“32”“64” 。不幸的是,它不是 javadoc 中列出的标准属性之一,并且某些 JVM 不支持它。

关于AMD 64 位平台上的 java.lang.UnsatisfiedLinkError : C:\. ..\xxx.dll : Can't load this . dll(机器代码 = 0xbd),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57654239/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com