40

我的应用程序抛出以下异常。

线程“主”java.lang.UnsatisfiedLinkError 中的异常:无法在 64 位 JVM 上加载 32 位 SW T 库。

如何解决这个问题?需要的jar文件名是什么?

4

6 回答 6

43

在 64 位 JVM 上,您需要 64 位 SWT。当前版本可以在这里下载:

http://archive.eclipse.org/eclipse/downloads/drops/R-3.6.1-201009090800/index.php#SWT

注意前两个下载,第一个用于 x32,另一个用于 x64。

注意:即使在 64 位 Windows 上,如果您使用 32 位 JVM,您仍然需要 32 位 SWT 版本!

于 2010-10-31T14:20:48.440 回答
7

几周前我遇到了同样的问题。我们开发了一个必须使用 32 位 SWT 的 RCP 应用程序,但我们在 64 位机器上工作。

我们必须做的是更改 Eclipse 的配置,使其指向 32 位 JVM。我们是在 Window -> Preferences -> Java -> Installed JRE's 上完成的。在此首选项页面上,我们将所有引用从“ Program Files ”更改为“ Program Files (x86) ”。

我希望它能以某种方式帮助你。

于 2011-06-06T12:23:36.250 回答
2

有关 SWT 库下载的最新链接: SWT 项目页面

于 2012-01-02T22:57:11.060 回答
2

我的答案是对上面发布的答案的编译更少,尤其是提供(我认为)最佳答案的用户@ClickUpvote 的评论。所以在这里,我在发布之前对其进行了测试:

如果您的应用程序抛出以下异常(在 Windows 7 64 位,使用 JVM 64)

线程“主”java.lang.UnsatisfiedLinkError 中的异常:无法在 64 位 JVM 上加载 32 位 SW T 库。

然后解决方案如下:在 64 位 JVM 上,您需要 64 位 SWT。

当前版本可以如下所述下载 - 隐藏得很好:

稳定的

Windows、Linux、OS X...

Windows (x86_64)(支持的版本)(http) 6.3 MB swt-4.4-win32-win32-x86_64.zip

这正是您需要的版本。

于 2014-07-22T05:56:34.100 回答
1

您只是针对错误版本的 SWT 构建。下载 64 位 Eclipse 或获取 delta 包并针对正确的目标环境进行构建。

于 2010-05-29T05:43:29.170 回答
1

这些链接对于 64 位版本的下载都有些过时了。试试这个:http: //jarfiles.pandaidea.com/swt.html,在谷歌搜索一小时后找到。

于 2014-11-17T21:40:03.400 回答