我有一个自己的JNI dll,它依赖于其他一些dll(准确地说是零MQ)。 我已经通过Visual Studio在Windows 7(64位)上编译了这些依赖关系。我定义我得到64位dll。Win64-JNI:UnsatisfiedLinkError:找不到依赖库
在开发人员的机器上,它工作得很好。 但是,如果我将这些dll移动到另一台机器(也是Windows 7 64位),我会在标题中提到错误。
我也将我的minigw-64安装移到这台机器上来编译我的dll。为此,我需要所有其他DLL,并且我可以成功编译它。但是,如果我启动jar文件(我的jni-lib将被加载),我得到这个UnsatisfiedLinkError。
我在两台PC上完全一样。 Path或java.library.path在两者上都是相同的。
我的启动脚本是这样的:
set PATH=C:\Path\To\my\dependencies;.;%PATH%
java -jar myjar.jar
pause
任何想法什么问题可能?
1)我的文件是mylib.dll 2)我已经做到了! 3)我在Windows上使用它,在两台PC上使用相同的Java版本。和dll被编译为64位 – user2071938
它说:“java.lang.UnsatisfiedLinkError:D:\ path \ to \ lib \ mylib.dll:无法找到从属库” 因为有正确的路径。它发现我的Dll在路径中,但这个DLL的依赖关系是问题,对吧? – user2071938
确保dll不处于调试模式,因为它需要机器中的微软调试运行时库(如果有的话)(我已将它穹顶了好几次)。如果依赖关系存在问题,路径助手应该帮助您确定依赖关系问题。 – Thiyagarajan