在Eclipse中使用串行端口处理时出现不满意的链接错误

在Eclipse中使用串行端口处理时出现不满意的链接错误,eclipse,arduino,serial-port,processing,buildpath,Eclipse,Arduino,Serial Port,Processing,Buildpath,我有一个处理程序,可以从arduino uno创建的串行端口读取数据。我让程序在处理中完美地工作,但在Eclipse中没有。我在java项目的构建路径中添加了core.jarserial.jar和jssc.jar,但使用serial.list() 我在这里看到过类似的问题,但都没有有用的答案。我不知道我是否遗漏了什么,或者需要将不同的jar文件导入到构建路径 import processing.core.PApplet; import processing.serial.*; public

我有一个处理程序,可以从arduino uno创建的串行端口读取数据。我让程序在处理中完美地工作,但在Eclipse中没有。我在java项目的构建路径中添加了
core.jar
serial.jar
jssc.jar
,但使用
serial.list()

我在这里看到过类似的问题,但都没有有用的答案。我不知道我是否遗漏了什么,或者需要将不同的jar文件导入到构建路径

import processing.core.PApplet;
import processing.serial.*; 

public class Processing extends PApplet {

    public Processing() {
        // TODO Auto-generated constructor stub
    }

    public static void main(String[] args) {
        PApplet.main("Processing");
    } 

    Serial myPort;
    String val;

    public void setup() {
        myPort = new Serial(this, Serial.list()[0], 9600);
    }

    public void draw() {
        if ( myPort.available() > 0) {
            val = myPort.readString();
        } 

        if (val != null) {
            println(val);
        }

        delay(250);
    }
}    
错误消息:

java.lang.UnsatisfiedLinkError: jssc.SerialNativeInterface.getSerialPortNames()[Ljava/lang/String;
at jssc.SerialNativeInterface.getSerialPortNames(Native Method)
at jssc.SerialPortList.getWindowsPortNames(SerialPortList.java:309)
at jssc.SerialPortList.getPortNames(SerialPortList.java:298)
at jssc.SerialPortList.getPortNames(SerialPortList.java:182)
at processing.serial.Serial.list(Unknown Source)
at Performance.Processing.setup(Processing.java:44)
at processing.core.PApplet.handleDraw(PApplet.java:2425)
at processing.awt.PSurfaceAWT$12.callDraw(PSurfaceAWT.java:1547)
at processing.core.PSurfaceNone$AnimationThread.run(PSurfaceNone.java:313)

您已经将jsc.jar添加到<强> java构建路径中,这是非常好的,但是JSSC使用的是本地C++库,您还需要引用:

  • Java构建路径部分
  • 使用箭头展开jssc.jar并选择本机库位置
  • 在右侧单击“强>编辑…<强”,并选择包含您的OS的本地C++库的文件夹(在我的例子中,是 MaCOSX 现在)


    应用更改后,链接错误将得到满足。

    感谢您提供清晰的说明!这工作做得很好!