3

JVLC というプログラムを自分のプログラムに追加して使用しようとしています。Javaインターフェース用のjarファイル(jvlc.jar)と2つのdllファイル(jvlc.dll、libvlc.dll)、および多くのdllファイルを含むフォルダーを含むzipファイルをダウンロードしました。プログラムを実行すると UnsatisfiedLinkError が発生します。このコードを使用して、これらの 2 つの dll ファイルをプロジェクトに追加しました。

System.loadLibrary("C:\\Users\\sajad\\Documents\\Downloads\\Compressed\\JVLC\\jvlc.dll");
System.loadLibrary("C:\\Users\\sajad\\Documents\\Downloads\\Compressed\\JVLC\\libvlc.dll");

しかし、まだエラーがあります:

UnsatisfiedLinkError: ディレクトリの区切り記号はライブラリ名に表示されません

すべてのフォルダをライブラリ パスに追加する必要がありますか? はいの場合、どのように?

私を導いてください。

4

2 に答える 2

6

このメソッドは、ファイル名ではなく、ライブラリ名( libName、拡張子なし)にSystem.loadLibrary基づいてライブラリをロードします。たとえば、Javaにはzip.dll / zip.so(Linux)が付属しており、zipファイルにZip Deflater/Inflaterクラスを使用するときに使用されます。

dllファイル名を指定する場合は、メソッドを使用しますSystem.load(String filename)。それ以外の場合は、DLLをJavalibパスに登録します。

例はここにあります。


あなたの例では、これを行ってください:

//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");
于 2010-10-18T16:27:20.813 に答える
0

このチュートリアルによると:

  • LD_LIBRARY_PATH(Linux / Unixの場合)またはPATH(Windowsの場合)ライブラリがあるディレクトリを含めるように設定する必要があります。
  • 接尾辞は必要ありません.dll
于 2010-10-18T16:24:51.873 に答える