10

我刚刚开始使用 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 位操作系统。为了让 32 位工作正常,我缺少什么?

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

4

6 回答 6

5

请在以下位置找到 32 位库...

http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.7-201106131736/swt-3.7-win32-win32-x86.zip

使用 zip 中的 swt.jar。

于 2011-07-04T21:59:39.240 回答
4

此处为在 Eclipse 上安装 32 位 SWT 提供了解决方案 http://www.badprog.com/eclipse-standard-widget-toolkit-swt-installation

于 2011-12-06T03:37:09.323 回答
1

x86_64 版本肯定不能在 32 位进程中工作。您需要获得 32 位版本的 SWT。

于 2010-12-11T09:30:26.950 回答
0

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

如果您安装了 64 位 JVM,您可以在菜单 Run > Run Configuration 中修改设置,然后选择正确的 JRE。

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

于 2014-01-08T01:18:08.727 回答
0

一种特殊情况是,如果您仅在尝试打开 Android sdk 管理器时看到它,则表明 sdk 工具无法正确定位您的 java.exe。进入你的sdk文件夹,打开tools/android.bat文件,找到“set java_exe”这行,把它改成“set java_exe=ABSOLUTE_PATH_TO_YOUR_JAVA_EXE”,把下面两行注释掉;

于 2014-04-10T02:19:41.050 回答
-1

我的日食没有开始。我检查了工作区/.metadata/.log 中的日志。java.lang.UnsatisfiedLinkError: Cannot load 64-bit SWT library on 32-bit JVM 存在异常。这是因为我的机器、eclipse、java 配置是这样的机器:Windows:64 位 Eclipse:64 位 Java:32 位

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

-vm C:\Program Files\Java\jdk1.7.0_75\bin\javaw.exe
于 2016-03-28T10:01:52.737 回答