java - JSSC 串行接口(interface)上​​的 UnsatsifiedLinkError(处理)

标签 java eclipse serial-port processing

我正在使用 Proclipsing(在 Eclipse 中处理),但是当我尝试打开端口时出现错误(打印序列列表工作正常)。我有一种感觉某种 native 库未连接,但我对如何在 Eclipse 中这样做(以及它链接到的位置)感到困惑。

这是我的代码:

import processing.core.PApplet;
import processing.serial.Serial;


public class visualization extends PApplet {
    public Serial usb = null;
    public void setup() {
        println(Serial.list());

        println(Serial.list()[5]);


        usb = new Serial(this, Serial.list()[5], 115200);

    }

    public void draw() {
    }
}

它抛出的错误是:

Exception in thread "Animation Thread" java.lang.UnsatisfiedLinkError: jssc.SerialNativeInterface.openPort(Ljava/lang/String;Z)J
    at jssc.SerialNativeInterface.openPort(Native Method)
    at jssc.SerialPort.openPort(SerialPort.java:158)
    at processing.serial.Serial.<init>(Unknown Source)
    at processing.serial.Serial.<init>(Unknown Source)
    at bioauthvisualization3.BioauthVisualization3.setup(BioauthVisualization3.java:15)
    at processing.core.PApplet.handleDraw(PApplet.java:2361)
    at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:240)
    at processing.core.PApplet.run(PApplet.java:2256)
    at java.lang.Thread.run(Thread.java:745)

最佳答案

我在设置 IntelliJ IDEA 进行处理开发时遇到了同样的问题。但我想你可以在 Proclipsing 中应用相同的方法。对我有用的解决方案有三个。

  1. 我创建了一个全局库,其中包含处理库和串行库。在 OS X 中,所需的 jar 文件可以在目录 /Applications/Processing.app/Contents/Java//Applications/Processing.app/Contents/Java/modes/libraries/中找到序列号/库/。我添加了以下库:core.jarserial.jarjssc.jar
  2. 接下来,我必须将全局库添加到我的模块依赖项中。
  3. 最后一步是将 native 库的路径添加到 appletviewer 的 VM 选项中:-Djava.library.path="/Applications/Processing.app/Contents/Java/modes/java/libraries/serial/library/macosx"

我的猜测是 Proclipsing 会为您完成前两个步骤,但您必须手动将 native 库添加到虚拟机选项中,因为这些取决于您正在使用的系统。希望有帮助。

我从 this forum entry 导出了步骤 3 的解决方案.

关于java - JSSC 串行接口(interface)上​​的 UnsatsifiedLinkError(处理),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24942045/

相关文章:

.net - 不断从具有后台线程的串行端口读取

c++ - 尝试配置 COM 端口时设置 DCB 失败

java - 'ICU' 在 Android SDK 中代表什么?

java - 无法迭代 HttpHeaders Map

android - 导出经过签名、模糊处理的 Android 应用程序时如何在 Eclipse 中设置 ProGuard?

iphone - 使用 iPhone 串行连接(引脚 12 和 13)

java - 使用base64将二进制文件发送到浏览器

java - 如何在 Java 中在 Y 线程上运行 X 任务?

android - 为什么Eclipse无法编译Google示例?

java - 从工资总额和工资税中查找净工资