我已经创建了一个dll并在我的java程序中使用。
它在Windows XP和Windows 7上工作得很好,但是当我在Windows Vista上使用相同的程序时,我得到了不满意的链接错误。
我才知道System.loadlibrary()在Vista (see this)上是不能工作的。
请给我推荐一些替代System.loadlibrary()的方法。
发布于 2012-04-13 15:06:31
System.loadlibrary()在Vista上运行良好。您的问题是找不到DLL或其依赖项之一。最有可能的情况是,您需要安装适当的MSVC运行时。有时,您可以在某些计算机上不执行此操作,因为其他应用程序已经安装了运行时。
如果您无法从本机代码编译器的文档中解决此问题,我建议您在profile模式下使用依赖项查看器来调试System.loadlibrary故障。
发布于 2012-04-13 15:11:49
System.Loadlibrary在Vista中运行良好,你的链接指向的是一个特定的库而不是LoadLibrary本身的问题。作为LoadLibrary的替代,你可以使用System.Load并给出一个绝对路径(至少这样你可以知道你的库是否可以加载)
发布于 2012-04-13 15:05:11
我宁愿用一个像http://www.dependencywalker.com/这样的工具来检查你的动态链接库“调用”了什么库。
如果path上缺少DLL,此应用程序会提示您。您还可以在启动java程序之前检查shell变量PATH。
希望能有所帮助。
https://stackoverflow.com/questions/10136500
复制相似问题