gpt4 book ai didi

java - 如何在 64 位机器上运行为 32 位制作的 API?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:02:08 24 4
gpt4 key购买 nike

我正在编写一个 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 位的。要解决,要么:

  • 获取 64 位 rxtxSerial.dll,或者
  • 安装 32 位 JVM 并使用当前的 rxtxSerial.dll

关于java - 如何在 64 位机器上运行为 32 位制作的 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9379040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com