java - JNA 无法加载模块 - 输出调试信息(依赖项)

标签 java debugging dll jna

我想加载一个 .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/

相关文章:

java - 犀牛打印功能

java - JDBC 程序调用具有复杂输入和输出的存储过程

java - 用于批量发送电子邮件的 jars

Java读卡器乱码

c# - 从托管代码传递到 native 代码时结构字段值无效

c++ - DLL加载和系统镜像空间

c# - 是否在 C# 项目中包含外部 DLL

java - 克隆内部类定义的对象

c++ - 如何在复杂的 cpp 项目中打印 gdb 中的 Armadillo 矩阵?

c - 反转两个数字并获得总和的倒数