UnsatisfiedLinkError : Native library 'wcepeer' not found (Mysaifu)

UnsatisfiedLinkError : Native library 'wcepeer' not found (Mysaifu)

我正在尝试在 Java 中编写一个可以在 Windows CE 操作系统中执行的应用程序。

为此,我在 Windows PC 上使用 Eclipse,然后将 .jar 文件传输到使用 Windows CE 运行的 "smaller" 系统中。然后使用 Mysaifu JVM 执行 .jar 文件(因为我们需要 JVM 来在 Windows CE 中执行 Java 程序)。

所以我从一个简单的应用程序开始,它将启动 window(使用 JFrame),当我尝试执行它时,我收到一条错误消息:

java.lang.UnsatisfiedLinkError: Native library 'wcepeer' not found (as file 'wcepeer') in gnu.classpath.boot.library.path and java.library.path

我已经尝试验证代表本机库的文件 (wcepeer.dll) 是否在正确的文件夹中,我可以看到该文件在那里与另一个库文件,例如wcesound.dllwcesecurity.dll等。通常这些文件在[=32中提供=]程序 Files/Mysaifu JVM/jre/bin 当我在 Windows CE 系统上安装 JVM 时。

我还尝试使用 System.loadLibrary() 验证 wcepeer 库的存在:

   try {
       System.loadLibrary("wcepeer");          } catch(UnsatisfiedLinkError e) {
        System.err.println("Native code library failed to load.\n" + e);       }

结果是:

Native code library failed to load. java.lang.UnsatisfiedLinkError: Native library 'wcepeer' not found (as file 'wcepeer') in gnu.classpath.boot.library.path and java.library.path

然而,当我用 "wcesound" 替换 "wcepeer" 时,没有错误。所以我想 wcepeer.dll 文件有问题,但我不知道如何解决它。我在网上到处搜索,只有一个论坛有这个,但帮助不大。

在此先感谢您的帮助。

此致,

您可以使用 dependency walker (http://www.dependencywalker.com/) 打开您的 DLL(它也适用于 CE dll,因为它们使用与 Windows 相同的格式)并查看此 DLL 有哪些依赖项. 可能需要其他 DLL(如果它们通过导出库静态链接,您的 DLL 将无法加载)或者 DLL 需要您的设备不支持的某些系统 DLL 或 API。 Windows CE 是一个组件化的 OS 因此您可能有一组不同的 API,具体取决于您在 OS 图像中包含的组件。