JNR UnsatisfiedLinkError

时间:2017-04-01 06:14:00

标签: java ffi unsatisfiedlinkerror jnr

此问题可能与this以及其他一些不满意的错误问题有关。

我试图运行以下代码。

-fPIE

代码编译正确,但拒绝运行,

(编译步骤)

a = []
for i in range(10):
    a.append([1,2,3])

print a

(跑步)

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());
    }
}

在跑步的过程中,我得到了这个error

1 个答案:

答案 0 :(得分:0)

  • 您需要安装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