我正在使用的dll文件出错:
错误消息是:
java.lang.UnsatisfiedLinkError: Expecting an absolute path of the library: Eagleye_parser
at java.lang.Runtime.load0(Runtime.java:767)
at java.lang.System.load(System.java:1005)
at test.TestDllJava.<clinit>(TestDllJava.java:15)
Exception in thread "main"
这是代码:
public class TestDllJava {
private static native String[] eagleye_fmu(String A);
public static void main(String[] args){
String[] ag = null;
String parameter = null;
parameter = "356188030442449 10250000 0001F464 0000EB34 0002CC7D 4xA0";
ag = eagleye_fmu(parameter);
System.out.println(ag);
}
static {
System.load("Eagleye_parser");
}
}
请纠正我,我做错了。
答案 0 :(得分:3)
由于docs of load()指定:
从本地文件加载具有指定文件名的代码文件 系统作为动态库。 filename参数必须是完整的 路径名称。
使用loadLibrary()或load(
mapLibraryName(..)
)
时,更好的方法是使用{{3}}或java.library.path
{{3}} loadLibrary()
来确定库的绝对路径。
在Eclipse中,您可以通过项目属性 - &gt;在项目中指定本机库文件夹。 Java构建路径 - &gt;选项卡库 - &gt;展开系统库,单击“本机库位置”。 Eclipse将为您构建{{1}},{{1}}将很容易看到它。