Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未满足链接错误:无法加载库_Java_Windows_Exception_Native_Unsatisfiedlinkerror - Fatal编程技术网

Java 未满足链接错误:无法加载库

Java 未满足链接错误:无法加载库,java,windows,exception,native,unsatisfiedlinkerror,Java,Windows,Exception,Native,Unsatisfiedlinkerror,我创建了一个jar文件,它使用autohotkey.dll库。Jar在我的主pc和笔记本电脑上运行平稳,但现在我正试图在新安装windows 10的pc上使用它,我遇到了以下错误: 线程“main”java.lang.UnsatifiedLinkError中出现异常:无法 加载库“自动热键”:无法获取的InputStream win32-x86-64/AutoHotkey.dll 位于com.sun.jna.nativellibrary.loadLibrary(nativellibrary.ja

我创建了一个jar文件,它使用
autohotkey.dll
库。Jar在我的主pc和笔记本电脑上运行平稳,但现在我正试图在新安装windows 10的pc上使用它,我遇到了以下错误:

线程“main”java.lang.UnsatifiedLinkError中出现异常:无法 加载库“自动热键”:无法获取的InputStream win32-x86-64/AutoHotkey.dll 位于com.sun.jna.nativellibrary.loadLibrary(nativellibrary.java:271) 位于com.sun.jna.nativellibrary.getInstance(nativellibrary.java:398) 位于com.sun.jna.Library$Handler。(Library.java:147) 位于com.sun.jna.Native.loadLibrary(Native.java:412) 位于com.sun.jna.Native.loadLibrary(Native.java:391) 在DllController上。(DllController.java:26) 在UI.main(UI.java:113)

DLL文件与jar文件位于同一文件夹中

我尝试了以下方法:

  • 使用32位和64位版本的JRE
  • 安装Visual C++可重分配程序包(32位和64位)
  • 还尝试通过以下命令运行jar:
java“-Djava.library.path=C:\runnablegui\new”-jar C:\runnablegui\new\as.jar

涉及Autohotkey.dll操作的进程监视器屏幕截图:
问题已解决。我没有安装新版本的ov vc_redist

这是一个打字错误吗(或在您的命令中)
“-Djava.library.path=C:\runnablegui”
应该是
“-Djava.library.path=C:\runnablegui”
-另外,仔细检查工作机器上的文件夹结构(似乎dll应该在子文件夹中)。是的,有输入错误,但没有任何效果。我试图将dll移动到工作pc上的子文件夹中,但它也开始出现相同的错误。请使用Sysinternals Process Monitor检查Java进程实际搜索dll的路径(筛选Java.exe进程,仅筛选文件操作)。我从Process Monitor添加了屏幕截图。如果我理解正确,dll将从C:\runnablegui读取