tb9*_*b96 7 java usb 64-bit 32bit-64bit xbee
我正在编写一个必须与之通信的java应用程序,必须通过usb-cable与XBee无线电进行通信.为此,我使用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)
Run Code Online (Sandbox Code Playgroud)
谢谢,汤姆
无法将32位DLL加载到64位进程中.
根据描述,您运行的JVM是64位,但DLL rxtxSerial.dll是32位.要解决,要么:
rxtxSerial.dll,或rxtxSerial.dll64位可执行文件(和进程)(您的Java VM)只能使用64位DLL.
但是您可以下载,安装和运行32位版本的Java.除非您还需要访问64位DLL或需要超过2到3 GB的内存,否则32位Java VM将在64位计算机上正常运行.
| 归档时间: |
|
| 查看次数: |
18163 次 |
| 最近记录: |