Java JNR未满足链接错误

Java JNR未满足链接错误,java,ffi,unsatisfiedlinkerror,jnr,Java,Ffi,Unsatisfiedlinkerror,Jnr,这个问题可能与许多其他不满意的链接错误问题有关 我正在尝试运行以下代码 import jnr.ffi.LibraryLoader; import jnr.ffi.types.pid_t; /** * Gets the process ID of the current process, and that of its parent. */ public class Getpid { public interface LibC { public @pid_t long

这个问题可能与许多其他不满意的链接错误问题有关

我正在尝试运行以下代码

import jnr.ffi.LibraryLoader;
import jnr.ffi.types.pid_t;

/**
 * Gets the process ID of the current process, and that of its parent.
*/
public class Getpid {
    public interface LibC  {
        public @pid_t long getpid();
        public @pid_t long getppid();
    }

    public static void main(String[] args) {
        LibC libc = (LibC) LibraryLoader.create(LibC.class).load("c");

        System.out.println("pid=" + libc.getpid() + " parent pid=" + libc.getppid());
    }
}

代码编译正确但拒绝运行

(汇编步骤)

(运行步骤)

跑步时我会得到这个。

  • 您需要安装objective web的asm.jar
  • 和jjfi.jar
  • 将这些添加到你的类路径中,瞧
使用以下命令编译:

javac -cp /usr/share/java/jnr-ffi.jar:.:/usr/lib/java/jffi.jar:/usr/lib/java/jffi-native.jar:/usr/share/java/objectweb-asm/asm.jar Getpid.java
java -cp /usr/share/java/jnr-ffi.jar:.:/usr/lib/java/jffi.jar:/usr/lib/java/jffi-native.jar:/usr/share/java/objectweb-asm/asm.jar Getpid
然后运行以下命令:

javac -cp /usr/share/java/jnr-ffi.jar:.:/usr/lib/java/jffi.jar:/usr/lib/java/jffi-native.jar:/usr/share/java/objectweb-asm/asm.jar Getpid.java
java -cp /usr/share/java/jnr-ffi.jar:.:/usr/lib/java/jffi.jar:/usr/lib/java/jffi-native.jar:/usr/share/java/objectweb-asm/asm.jar Getpid

它找不到请求的类。在你的stacktraceThanks底部查看根本原因,这很有帮助!