Java JNI未满足链接错误问题
我正在创建一个Java程序,使用JNI通过C程序收集数据。我已经阅读了这个JNI教程(),所有的东西都编译正确了。但是,当我尝试在Eclipse中运行Java程序时,我不断遇到以下错误: 线程“main”java.lang.UnsatisfiedLinkError中出现异常:java.library.path中没有TurtleTrackerImpl 位于java.lang.ClassLoader.loadLibrary(未知源) 位于java.lang.Runtime.loadLibrary0(未知源) 位于java.lang.System.loadLibrary(未知源) 在main.TurtleTracker.(TurtleTracker.java:28) 在main.Driver.main(Driver.java:54) 我将使用System.loadLibrary(“TurtletTrackerImpl”)的库包含在同名的Java类中 我已经打印出库路径以确保它是正确的(C:\Users\duril\u 000\workspace\ArenaTracker\ArenaTracker\src),并且我已经检查了该路径中是否存在libTurtleTrackerImpl.jnilib(它存在,我甚至可以在Eclipse中打印它的内容)Java JNI未满足链接错误问题,java,c,eclipse,dll,java-native-interface,Java,C,Eclipse,Dll,Java Native Interface,我正在创建一个Java程序,使用JNI通过C程序收集数据。我已经阅读了这个JNI教程(),所有的东西都编译正确了。但是,当我尝试在Eclipse中运行Java程序时,我不断遇到以下错误: 线程“main”java.lang.UnsatisfiedLinkError中出现异常:java.library.path中没有TurtleTrackerImpl 位于java.lang.ClassLoader.loadLibrary(未知源) 位于java.lang.Runtime.loadLibrary0(
网上还有很多其他类似的问题,但我没有找到任何库路径正确的地方,问题仍然存在。请帮忙--我想不出会有什么错?如果需要更多信息,请告诉我 嗯,由于lib的路径问题,当系统无法加载lib时,就会发生这种异常 可能的例外情况:
loadLibrary
中传递完整路径,下面是一个示例:
// load a library that is Windows/System32 folder
System.out.println("Loading Library...");
Runtime.getRuntime().loadLibrary("C:/Windows/System32/crypt32.dll");
System.out.println("Library Loaded.");
在您的情况下,请尝试以下操作:
Runtime.getRuntime().loadLibrary("C:\\Users\\duril_000\\workspace\\ArenaTracker\\ArenaTracker\\src\\TurtleTrackerImpl.extension");
别忘了更改扩展名和双栏“\\”