lwjgl + slick2d + ошибка jinput на 64-битном Linux

Я использую Linux (Ubuntu 12.04) с 64-битной java 7 и Eclipse (Indigo). В игровом проекте мы используем slick2d и вместе с ним lwjgl. Меня остановили следующие ошибки. (исправления объяснены в ответе)

  1. java.lang.UnsatisfiedLinkError: нет lwjgl в java.library.path

  2. java.lang.UnsatisfiedLinkError: нет jinput-linux64 в java.library.path

  3. Не удалось открыть устройство (/dev/input/event8): не удалось открыть устройство /dev/input/event8

Версии:

Slick2D

Пн, 01 окт 2012 09:54:11 +0100 Вс 11 мая 20:17:03 BST 2008 build=264

LWJGL (может быть уже 2.8.5, но теперь это):

2.8.4


person Ville Myrskyneva    schedule 27.01.2013    source источник


Ответы (2)


  1. Чтобы исправить это, следуйте инструкциям, приведенным в документации slick2d.

    http://www.slick2d.org/wiki/index.php/Main_Page

  2. Похоже, это настоящая ошибка slick2D/lwjgl в версиях, которые мы сейчас используем. Чтобы исправить это, вы не можете использовать 64-битную Java (по крайней мере, с Linux). Загрузите 32-разрядную версию Java с веб-сайта Oracle и настройте ее в качестве среды выполнения вашей IDE (возможно, вам потребуется найти дополнительную справку о том, как это сделать в вашей конкретной IDE).

  3. Это связано исключительно с разрешениями в Linux. Перейдите в «/dev/input» и измените разрешение папки «sudo chmod 644 *», чтобы процесс мог просто прочитать, что там находится.

Кажется, не было информации о том, как решить эту проблему вместе. Надеюсь, это поможет кому-то другому.

person Ville Myrskyneva    schedule 27.01.2013
comment
Просто позднее замечание: мы полностью отказались от гладкого 2D и переработали код для использования LibGdx. Slick2D имеет более изощренный способ обработки вещей на языке Java, но постоянных проблем с окружением было достаточно. Самым важным было то, что репозиторий для загрузки библиотеки постоянно был недоступен или менял местоположение. Не уверены, что этот проект еще жив? (где-то было сказано, что проект закрыт, но для него вроде есть еще вики и такие страницы) - person Ville Myrskyneva; 10.03.2016

Загрузите slick и скопируйте необходимые библиотеки (jinput-linux64, lwjgl, .dll & < strong>.so файлы) в ваш java.library.path

чтобы получить java.library.path, вы можете сделать следующее: System.out.println(System.getProperty("java.library.path"));

person Thami Bouchnafa    schedule 09.03.2016