繁体   English   中英

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

[英]java.lang.UnsatisfiedLinkError: Cannot load 64-bit SWT libraries on 32-bit JVM in Windows x86 machine

我刚开始使用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版本错误,我该如何更改?

这里为Eclipse上的32位SWT安装提供了一个解决方案http://www.badprog.com/eclipse-standard-widget-toolkit-swt-installation

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM