找不到指定的程序:对于jcuda 9.2



我正在尝试加载我用jar.exe工具提取的JCudaDriver的dll。

System.loadLibrary("JCudaDriver-0.9.2-windows-x86_64")

该驱动程序肯定在我的java.libary.path中,因为如果我手动删除它,则会出现未找到的类型错误。 现在我收到以下错误。

线程"main"中的异常 java.lang.UnsatisfiedLinkError: myPath.JCudaDriver-0.9.2-windows-x86_64.dll.dll: 找不到指定的过程

我的理解是,此指定过程位于另一个dll上的某个缺少依赖项中,或者存在版本冲突。 我使用命令行上的 windows 实用程序功能作为dumpbin /dependents xx.dll来查找依赖的 dll。 它们如下。

Dump of file JCudaDriver-0.9.2-windows-x86_64.dll
Image has the following dependencies:
nvcuda.dll
ADVAPI32.dll
KERNEL32.dll

我可以加载 nvcuda.dll没有错误,但后两个是问题。

fun main(args: Array<String>) {
//System.loadLibrary("nvcuda")
System.loadLibrary("ADVAPI32")
//System.loadLibrary("KERNEL32")
}

这是尝试加载ADVAPI32.dll时的错误

线程"main"中的异常 java.lang.UnsatisfiedLinkError: C:\aaa_eric\code\lib\dlls_x64\advapi32.dll: %1 不是有效的 Win32 应用程序

经过 JCuda 的支持者 Marco13 在上面留下评论的努力,该问题被确定为在安装 Cuda 后更新了图形驱动程序。这改变了一些dll。 修复是删除并重新安装 Cuda。

我将在此处引用我们迭代解决方案的论坛链接。

相关内容

  • 没有找到相关文章

最新更新