Java.lang.UnsatisfiedLinkError: не удается загрузить 64-битные библиотеки SWT на 32-разрядной JVM в машине Windows x86

Я только что начал использовать 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, как мне ее изменить?

Ответ 3

Версия x86_64 определенно не будет работать в 32-битном процессе. Вам нужно получить 32-битную версию SWT.

Ответ 4

Это происходит, если вы попытаетесь запустить 64-битную библиотеку с 32-разрядной JRE. 32bit может работать на 64 бит, но не наоборот.

Если у вас установлена ​​64-битная JVM, вы можете изменить настройки в меню "Выполнить" > "Выполнить конфигурацию", затем выбрать правильную JRE.

В противном случае просто получите 32-битную версию SWT.

Ответ 5

Один из особых случаев заключается в том, что если вы видите это только при попытке открыть Android sdk manager, что указывает на то, что инструменты sdk не могут найти ваш java.exe правильно. Перейдите в папку sdk, откройте файл tools/android.bat, найдите строку "set java_exe", измените ее на "set java_exe = ABSOLUTE_PATH_TO_YOUR_JAVA_EXE" и закомментируйте две следующие строки:

Ответ 6

Затмение не начиналось. Я проверил журналы в рабочей области /.metadata/.log. java.lang.UnsatisfiedLinkError: невозможно загрузить 64-битные библиотеки SWT на 32-разрядную JVM исключение. Это было вызвано тем, что моя машина, затмение, конфигурация java были такими Машина: Windows: 64 бит Eclipse: 64 бит Java: 32 бит

Я исправил JAVA_HOME и Путь. Кажется, не работает. Решение: я добавил -vm с правильным курсом jvm в файле eclipse.ini. Это сработало для меня. Я смог начать затмение. Пример: я указал на 64-битный jvm для запуска 64-битного затмения

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