我想加载一个 .dll 文件(simpleDLL.dll 形成 jna 教程),但我得到了
java.lang.UnsatisfiedLinkError: Unable to load library 'simpleDLL': The specified module could not be found.
我在ubuntu下用wine运行java程序,得到以下信息:
err:module:import_dll Library MSVCR100D.dll (which is needed by ...
在Eclipse中运行程序时没有显示此消息,所以我的问题是:
有没有办法为 JNA 设置更详细的调试级别,以便在尝试加载模块时可以显示依赖的 .dll 文件? (我浪费了很多时间认为 jna.library.path 未正确设置,实际上,没有打印有关所需其他 .dll 文件的信息)。
最佳答案
您可以从 wine 获得更详细的信息,因为该系统选择实现比 Windows 操作系统更具描述性的错误消息。你不能神奇地强制 window 表现得像酒一样。
wine 模拟窗口(即为了正常运行,它必须完全模拟窗口)。显然在某些情况下它提供了更好的错误报告,尽管我怀疑您的 err:module:import_dll 消息是通过正常的 win32 错误文本查找而没有进行额外的调整,否则 wine 不会很好地模拟 Windows 的工作。
另一方面,Windows 不会报告有关 DLL 依赖项的更多信息,除非 Microsoft 更改为这样做,但这种情况永远不会发生。
关于java - JNA 无法加载模块 - 输出调试信息(依赖项),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11325764/