java.lang.UnsatisfiedLinkError:无法在Windows x86机器上的32位JVM上加载64位SWT库

时间:2010-12-11 08:04:21

标签: java eclipse swt windows-vista unsatisfiedlinkerror

我刚刚开始使用swt(windows x86_x64兼容版本)。 当我在Eclipse中运行示例代码片段时,我收到以下错误...

Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 64-bit SWT libraries on 32-bit JVM
 at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
 at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
 at org.eclipse.swt.internal.C.<clinit>(Unknown Source)
 at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
 at Snippets.main

我的计算机上安装了Windows Vista。我相信这个swt版本应该支持32位和64位Os。为了让32位工作,我错过了什么?

如果我的JVM版本错误,我该如何更改?

6 个答案:

答案 0 :(得分:5)

答案 1 :(得分:4)

这里给出了在Eclipse上32位安装SWT的解决方案 http://www.badprog.com/eclipse-standard-widget-toolkit-swt-installation

答案 2 :(得分:1)

x86_64版本肯定不适用于32位进程。您需要获得32位版本的SWT。

答案 3 :(得分:0)

如果您尝试针对32位JRE运行64位库,则会发生这种情况。 32位可以在64位运行,但反之亦然。

如果您安装了64位JVM,则可以在菜单Run&gt;中修改设置。运行配置,然后选择正确的JRE。

否则只需获得SWT的32位版本。

答案 4 :(得分:0)

一个特例是,如果您在尝试打开Android sdk管理器时才看到它,这表明sdk工具无法正确找到您的java.exe。转到你的sdk文件夹,打开 tools / android.bat 文件,找到行说出&#34;设置java_exe&#34;,将其改为&#34;设置java_exe = ABSOLUTE_PATH_TO_YOUR_JAVA_EXE&#34;并注释掉以下两行;

答案 5 :(得分:-1)

我的日食没有开始。我检查了workspace / .metadata / .log中的日志。 java.lang.UnsatisfiedLinkError:无法在32位JVM上加载64位SWT库 异常存在。这是因为我的机器,eclipse,java配置是这样的 机器:Windows:64位 Eclipse:64位 Java:32位

我更正了 JAVA_HOME &amp;的路径即可。似乎没有工作。 解决方案:我在eclipse.ini文件中添加了-vm和正确的jvm路径。它对我有用。我能够开始日食。 示例:我指向64位jvm启动64位eclipse

-vm C:\Program Files\Java\jdk1.7.0_75\bin\javaw.exe