gpt4 book ai didi

java - 使用 64 位 JDK 1.7.0 加载 64 位 dll

转载 作者:行者123 更新时间:2023-11-29 09:06:20 29 4
gpt4 key购买 nike

我在 Windows 7 上使用 Java 1.7.0 并尝试加载位于 C:/Program Files (x86)/Common Files/app_name/ 中的 64 位 dll。我收到以下错误

 Exception in thread "main" java.lang.UnsatisfiedLinkError:
C:\Program Files (x86)\Common Files\app_name\app.dll: %1
is not a valid Win32 application

我将 dll 复制到不同的目录(即 C:\Temp)并且能够很好地加载 dll。我认为这个错误是由于 dll 位于 Program Files (x86) 下,而 java 试图将其作为 32 位 dll 加载。 JVM 是否对 Program FilesProgram Files (x86) 下的 dll 做出某些假设?

最佳答案

当然不是路径的问题。唯一的问题是您使用的是哪个版本的 JavaVM。如果它是 32 位版本的 Java,它将尝试将任何 DLL 作为 32 位 DLL 加载,如果它是 64 位版本的 Java,它将尝试将任何 DLL 作为 64 位 DLL 加载。

所以,要么- 您的系统上只安装了 32 位的 Java,并尝试加载 64 位的 DLL;或者- 您同时安装了 32 位和 64 位 Java,然后您需要确保使用 64 位版本进行测试。

您声称已成功使用来自不同文件夹的 DLL 的事实表明是后者,因此请确保您使用的 java 可执行文件是 64 位版本。

关于java - 使用 64 位 JDK 1.7.0 加载 64 位 dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14841504/

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