如何在64位计算机上运行32位API?

我正在写一个必须与之通信的 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)

谢谢,汤姆

解决方法

无法将32位DLL加载到64位进程中.

根据描述,您运行的JVM是64位,但DLL rxtxSerial.dll是32位.要解决,要么:

>获取64位rxtxSerial.dll,或>使用当前的rxtxSerial.dll安装和使用32位JVM

相关文章

Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Sh...
运行程序出现下面错误:HTTP Status 500 ------------------...
1、建立DM的profile,使用的模版在install_root/profileTempl...
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是...
英文操作系统导致 Debug 下的变量查看时显示乱码,可通过改变...
eclipse中javascript报错问题处理:三个地方:&lt;1&...