【发布时间】:2011-12-24 00:12:17
【问题描述】:
我正在编写一个基于 Java 的客户端,该客户端将从使用 libvirt 的 Windows 中执行。
- 获得 libvirt-java (http://libvirt.org/sources/java/libvirt-java-0.4.7.tar.gz) 并构建一个 jar(无参数的 Ant)
- 然后根据http://libvirt.org/windows.html,使用“MSYS build script”构建了一个dll
- 得到 2 个文件 libvirt-0.dll 和 libqemu-0.dll
当我从 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)
还尝试在 Fedora 中代替步骤 2 交叉编译 - 当我使用新的 dll 时出现相同的错误消息。
有人知道如何解决这个问题吗?
【问题讨论】:
-
看起来库的 java 部分在定位 dll 时遇到问题。检查库期望 dll 的位置。 dll需要在windows上注册吗?
-
您在哪里可以解决此问题?我也面临同样的问题。