webots - не удается загрузить 32-разрядную DLL IA на 64-разрядной платформе AMD.

Я хочу написать Java-контроллеры для моделирования веботов. Но всякий раз, когда я пытаюсь собрать контроллер, я получаю сообщение об ошибке:

"Native code library failed to load. 
See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help. 
java.lang.UnsatisfiedLinkError: C:\Program Files (x86)\Webots\lib\JavaController.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform" . 

webots требует 32-битного jdk, который я установил. Я также попытался изменить java-команду в настройках с javaw.exe на java -d32. Это не помогло. Я также сгенерировал код с помощью Intellij, где я изменил SDK-опцию на 32-битную версию. Еще я разработал контроллер в редакторе веботов и построил его там. Ничего не запущено. Кто-нибудь знает эту проблему и есть решение?


person Thea    schedule 12.12.2015    source источник


Ответы (1)


Из полученного сообщения об ошибке видно, что Webots все еще запускает 64-битную версию виртуальной машины Java. Я бы рекомендовал удалить эту 64-битную версию Java, чтобы быть уверенным, что Webots использует 32-битную версию.

Кстати, похоже, вы не используете последнюю версию Webots, которая сейчас является только 64-битной. Итак, другой вариант для вас - перейти на Webots 8.3.1 (или новее) и использовать 64-битную виртуальную машину Java.

person Olivier Michel    schedule 14.12.2015
comment
Вы правы, я не использую последнюю версию веботов, потому что наш профессор предоставил нам эту версию (она мне нужна для изучения). Я не хочу удалять виртуальную машину java 64 bit, я использую ее в других проектах. Теперь я установил последнюю версию webots, и она работает. К сожалению, это всего лишь 30-дневная тестовая версия. - person Thea; 14.12.2015