1

libvirt を使用する Windows から実行される Java ベースのクライアントを作成しています。

  1. libvirt-java (http://libvirt.org/sources/java/libvirt-java-0.4.7.ta​​r.gz) を取得し、それから jar を作成します (パラメーターのない Ant)
  2. 次に、 http://libvirt.org/windows.htmlに従って、「MSYS ビルド スクリプト」を使用して dll をビルドしました</li>
  3. libvirt-0.dll と libqemu-0.dll の 2 つのファイルを取得

http://libvirt.org/java.htmlから (Eclipse で) サンプル例を実行すると、次のエラーが発生します。

Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'virt': %1 is not a valid Win32 application.

      at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:169)
      at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:242)
      at com.sun.jna.Library$Handler.<init>(Library.java:140)
      at com.sun.jna.Native.loadLibrary(Native.java:368)
      at com.sun.jna.Native.loadLibrary(Native.java:353)
      at org.libvirt.jna.Libvirt.<clinit>(Unknown Source)
      at org.libvirt.Connect.<clinit>(Unknown Source)
      at Main.main(Main.java:26)

また、ステップ 2 の代わりに Fedora でクロス コンパイルを試みました。新しい dll を使用した場合と同じエラー メッセージが表示されます。

問題を解決する方法を知っている人はいますか?

4

2 に答える 2

0

jna.library.pathシステム プロパティの値を、dll が配置されているパスに設定する必要があります。

于 2012-02-17T06:29:34.953 に答える