【问题标题】:Unable to Load LeJOS NXT Comm Driver无法加载 LeJOS NXT 通讯驱动程序
【发布时间】:2013-04-14 18:07:30
【问题描述】:

我一直在尝试使用 LeJOS 库与我的 NXT 机器人生成接口。当我运行代码时,控制台打印出以下错误:

lejos.pc.comm.NXTCommException: Cannot load NXTComm driver at lejos.pc.comm.NXTCommFactory.newNXTCommInstance(NXTCommFactory.java:110) at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:91) at com.thirteenbit.prasController.PrasController.initConnection(PrasController.java:24) at com.thirteenbit.prasController.PrasController.<init>(PrasController.java:17) at com.thirteenbit.prasController.PrasController$1.run(PrasController.java:42) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:708) at java.awt.EventQueue.access$400(EventQueue.java:82) at java.awt.EventQueue$2.run(EventQueue.java:669) at java.awt.EventQueue$2.run(EventQueue.java:667) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:678) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Caused by: lejos.internal.jni.JNIException: cannot load library /Users/Andrew/Desktop/Dropbox/Eclipse Files/leJOS_NXJ_0.9.1beta-3/lib/pc/native/macosx/libjfantom.jnilib, architecture macosx/x86_64 at lejos.internal.jni.JNILoader.loadLibrary(JNILoader.java:121) at lejos.pc.comm.NXTCommFantom.initialize0(NXTCommFantom.java:96) at lejos.pc.comm.NXTCommFantom.initialize(NXTCommFantom.java:103) at lejos.pc.comm.NXTCommFactory.newNXTCommInstance(NXTCommFactory.java:103) ... 18 more Caused by: java.lang.UnsatisfiedLinkError: /Users/Andrew/Desktop/Dropbox/Eclipse Files/leJOS_NXJ_0.9.1beta-3/lib/pc/native/macosx/libjfantom.jnilib: no suitable image found. Did find: /Users/Andrew/Desktop/Dropbox/Eclipse Files/leJOS_NXJ_0.9.1beta-3/lib/pc/native/macosx/libjfantom.jnilib: no matching architecture in universal wrapper at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1827) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1703) at java.lang.Runtime.load0(Runtime.java:770) at java.lang.System.load(System.java:1020) at lejos.internal.jni.JNILoader.loadLibrary(JNILoader.java:111) ... 21 more

我相信这与java eclipse: failed to load nxt usb comm driver 中发现的问题相同,并且我安装了 eclipse 32 位版本,但仍然遇到与上述相同的错误。我将如何解决这个问题?

【问题讨论】:

  • 有人有解决办法吗?
  • 我应该尝试重新安装驱动程序吗?

标签: nxt lejos-nxj


【解决方案1】:

由于我的声誉(我是新人),我无法发布 cmets,因此答案:
你应该确保你有:
- x86 JDK(Java开发工具包),点击:jdk-7u21-windows-i586.exe
- Lego fantom drivers,点击:Fantom Driver 1.1.3
正如您已经提到的 32 位版本的 Eclipse

【讨论】:

  • 我正在运行 Mac 并且 x86 版本不在该列表中。不过有一个 x64 版本。对不起,我对这类事情没有太多经验。如果你有时间,我会喜欢一个完整的描述。谢谢。
  • 我完全不知道 mac 以及如何在上面设置 Java,所以我会尝试:
  • 首先您需要(重新)安装如前所述的 Fantom 驱动程序 1.1.3。我看到 Mac 没有 x86 JDK 版本,所以 x64 版本不是你的问题。为了能够帮到你,我首先要知道你已经安装了哪些java相关的程序,是否设置了环境变量(所以lejos知道JDK的目录之类的)。跨度>
  • 好的,谢谢。我会试试的。你知道 LeJOS 安卓蓝牙支持吗?再次感谢! @Rob
  • 好的,请报告结果。是的,我已经成功地在运行 LeJOS 的 NXT 和运行 Android 的手机之间建立了蓝牙通信。如果您不知道从哪里开始,只需阅读 Stackoverflow 上有关如何建立连接的所有可用信息,我就设法让它自己工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-19
  • 2013-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-24
  • 2016-05-11
相关资源
最近更新 更多