我正在尝试用 Java 编写一个可以在 Windows CE 操作系统中执行的应用程序。
为此,我在我的 Windows PC 上使用 Eclipse,然后将 .jar 文件传输到我使用 Windows CE 运行的“较小”系统中。然后使用 Mysaifu JVM 执行 .jar 文件(因为我们需要一个 JVM 在 Windows CE 中执行 Java 程序)。
所以我从一个简单的应用程序开始,它会启动一个窗口(使用 JFrame),当我尝试执行它时,我收到一条错误消息:
java.lang.UnsatisfiedLinkError:在 gnu.classpath.boot.library.path 和 java.library.path 中找不到本机库“wcepeer”(作为文件“wcepeer”)
我试图验证表示本机库 ( wcepeer.dll ) 的文件是否在正确的文件夹中,并且我可以看到该文件与另一个库文件一起存在,例如wcesound.dll、wcesecurity.dll等。通常,当我在 Windows CE 系统上安装 JVM 时,这些文件在Program Files/Mysaifu JVM/jre/bin中提供。
我还尝试使用 System.loadLibrary()验证wcepeer库的存在:
try { System.loadLibrary("wcepeer"); } catch(UnsatisfiedLinkError e) { System.err.println("Native code library failed to load.\n" + e); }
结果是:
本机代码库加载失败。java.lang.UnsatisfiedLinkError:在 gnu.classpath.boot.library.path 和 java.library.path 中找不到本机库“wcepeer”(作为文件“wcepeer”)
但是,例如,当我用“wcesound”替换“wcepeer”时,没有错误。所以我想wcepeer.dll文件有问题,但我不知道如何解决它。我在网上到处搜索,只有一个关于这个的论坛,但它并没有太大帮助。
提前感谢您的帮助。
亲切的问候,
您可以使用dependency walker ( http://www.dependencywalker.com/ ) 打开您的DLL(它也适用于CE dll,因为它们使用与Windows 相同的格式)并查看此DLL 具有哪些依赖项。可能需要其他 DLL(如果它们是通过导出 lib 静态链接的,则无论如何您的 DLL 都将无法加载),或者 DLL 需要一些您的设备不支持的系统 DLL 或 API。Windows CE 是一个组件化的操作系统,因此您可能拥有一组不同的 API,具体取决于您包含在操作系统映像中的组件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句