作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在编写一个 java 应用程序,它必须通过 USB 电缆与 XBee radio 通信。为此,我使用 xbee-java API ( http://code.google.com/p/xbee-api/)
在我的旧 32 位机器上一切正常。但是当我将项目导入到 64 位机器时,它会立即抛出一个异常:“无法在 AMD 64 位平台上加载 IA 32 位 .dll”。我不知道如何解决这个问题。
错误代码:
java.lang.UnsatisfiedLinkError: C:\Users\Tom\Documents\XbeeJava\rxtxSerial.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform thrown while loading gnu.io.RXTXCommDriver
Closing connection with local XBee
Exception in thread "Thread-1" java.lang.UnsatisfiedLinkError: C:\Users\Tom\Documents\XbeeJava\rxtxSerial.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
at com.rapplogic.xbee.RxTxSerialComm.openSerialPort(RxTxSerialComm.java:71)
at com.rapplogic.xbee.RxTxSerialComm.openSerialPort(RxTxSerialComm.java:61)
at com.rapplogic.xbee.api.XBee.open(XBee.java:140)
at me.server.HardwareCommunications.SensorListener.run(SensorListener.java:47)
at java.lang.Thread.run(Unknown Source)
谢谢,汤姆
最佳答案
无法将 32 位 DLL 加载到 64 位进程中。
根据描述,您运行的 JVM 是 64 位的,但 DLL rxtxSerial.dll
是 32 位的。要解决,要么:
rxtxSerial.dll
,或者rxtxSerial.dll
关于java - 如何在 64 位机器上运行为 32 位制作的 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9379040/
我是一名优秀的程序员,十分优秀!