找不到指定的过程:对于 jcuda 9.2
The specified procedure could not be found: for jcuda 9.2
我正在尝试为使用 jar.exe 工具提取的 JCudaDriver 加载 dll。
System.loadLibrary("JCudaDriver-0.9.2-windows-x86_64")
那个驱动程序肯定在我的 java.libary.path 中,因为如果我手动删除它,我会得到一个未找到的类型错误。现在我收到以下错误。
Exception in thread "main" java.lang.UnsatisfiedLinkError: myPath.JCudaDriver-0.9.2-windows-x86_64.dll.dll: The specified procedure could not be found
我的理解是,这个指定的程序位于对另一个 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
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\aaa_eric\code\lib\dlls_x64\advapi32.dll: %1 is not a valid Win32 application
经过JCuda的支持者Marco13的努力,在上面发表了评论,确定问题是安装了Cuda后更新了图形驱动程序。那改变了一些dll。解决方法是删除并重新安装 Cuda。
我将在此处引用 forum link 我们迭代解决方案的地方。
我正在尝试为使用 jar.exe 工具提取的 JCudaDriver 加载 dll。
System.loadLibrary("JCudaDriver-0.9.2-windows-x86_64")
那个驱动程序肯定在我的 java.libary.path 中,因为如果我手动删除它,我会得到一个未找到的类型错误。现在我收到以下错误。
Exception in thread "main" java.lang.UnsatisfiedLinkError: myPath.JCudaDriver-0.9.2-windows-x86_64.dll.dll: The specified procedure could not be found
我的理解是,这个指定的程序位于对另一个 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
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\aaa_eric\code\lib\dlls_x64\advapi32.dll: %1 is not a valid Win32 application
经过JCuda的支持者Marco13的努力,在上面发表了评论,确定问题是安装了Cuda后更新了图形驱动程序。那改变了一些dll。解决方法是删除并重新安装 Cuda。
我将在此处引用 forum link 我们迭代解决方案的地方。