我正在尝试添加并使用一个名为JVLC的程序到我的程序中.我下载了一个zip文件,其中包含用于java接口的jar文件(jvlc.jar)和2个dll文件(jvlc.dll,libvlc.dll)以及包含许多dll文件的文件夹.当我运行我的程序时,会出现UnsatisfiedLinkError.我用这段代码将这两个dll文件添加到我的项目中.
System.loadLibrary("C:\\Users\\sajad\\Documents\\Downloads\\Compressed\\JVLC\\jvlc.dll"); System.loadLibrary("C:\\Users\\sajad\\Documents\\Downloads\\Compressed\\JVLC\\libvlc.dll");
但仍然有错误:
UnsatisfiedLinkError:目录分隔符不应出现在库名称中
是否有必要将所有文件夹添加到库路径?如果有,怎么样?
请指导我.
该System.loadLibrary
方法基于库名称(libName,没有扩展名)而不是通过文件名加载库.例如,Java附带了一个zip.dll/zip.so(Linux),当我们使用Zip Deflater/Inflater类来获取zip文件时使用它.
如果要使用指定dll文件名,请使用该System.load(String filename)
方法,在java lib路径中注册DLL.
这里可以找到一个例子.
举个例子,请这样做:
//Your code.... System.loadLibrary("C:\\Users\\sajad\\Documents\\Downloads\\Compressed\\JVLC\\jvlc.dll"); System.loadLibrary("C:\\Users\\sajad\\Documents\\Downloads\\Compressed\\JVLC\\libvlc.dll"); //Replace with this... System.load("C:\\Users\\sajad\\Documents\\Downloads\\Compressed\\JVLC\\jvlc.dll"); System.load("C:\\Users\\sajad\\Documents\\Downloads\\Compressed\\JVLC\\libvlc.dll");