我正在尝试让JInput在raspeberryPi上运行。我知道在没有ide的情况下使用JInput是不理想的,但Raspberry Pi太慢而无法与大多数人一起工作。我已成功地从Windows命令行成功编译和运行我的程序。然而,在pi我遇到了麻烦。 pi运行raspbian,java版本1.7.0_40,热点客户端vm build 24.0-b56。我已经设置了文件结构:
LIB / DIST
-jinput-Test.jar的
-jinput.jar
-Controller
- .dll,.so文件
--LinuxEnvironmentPlugin.java
斌
src
我正在使用命令
java -Djava.library.path=lib/dist/Controller -Djinput.plugins=net.java.games.input.LinuxEnvironmentPlugin -cp bin:lib/dist/jinput.jar:lib/dist/Controller Main
试着跑。
然而,我得到了
“INFO:无法加载库:”/ libjinput-linux64.so:/libjinput-linux64.so:错误的ELF类:ELFCLASSS64“
这是我感到困惑的地方。为什么要尝试使用64位文件。 rasperry Pi有一个ARM版本6处理器,只能使用32位。那么为什么它首先要寻找64位文件呢?我也尝试使用-d32选项运行,但这没有帮助。
答案 0 :(得分:2)
您需要为Pi(ARM)构建的本机共享库(JNI)。幸运的是,JInput有预先构建的raspbian包,包括所需的本机库:
您还应该将uinput添加到/ etc / modules的末尾,以便检测到控制器。如果你想要一个漂亮的GUI来测试控制器,请尝试安装:
答案 1 :(得分:0)
你可以通过
安装Jinput然后在安装后在您的覆盆子pi上找到这些文件
在你的工作目录中创建一个名为(假设)lib的新目录(你可以根据需要命名) 将上面的所有文件复制到刚刚创建的目录库中。 然后通过这种方式编译java文件:
然后通过这种方式运行它:
如果从netbeans创建Example.java,请删除顶部的包信息行。它应该工作。
答案 2 :(得分:-1)
这会将jar文件放在/ usr / share / java /中,需要将其添加到CLASSPATH中。我仍然在寻找需要添加到LD_LIBRARY_PATH
的.so文件