win7 32位系统上,java程序调用Qt写的动态库,Qt build的时候没报任何错。
System.load()的时候报错Can't find dependent libraries。
我用depends.exe 这个工具查看DLL信息,开始的时候确实报错说有几个依赖的动态库找不到,我就在网上下载了放到system32目录下。depends不报错了(但是有一个警告:At least one module has an unresolved import due to a missing export function in a delay-load dependent module,我在官网上查到说这个警告可以忽略:http://www.dependencywalker.com/faq.html)
但是java程序运行时还是有Can't find dependent libraries的错误。
求解决。
------解决思路----------------------
缺少依赖的lib库
------解决思路----------------------
通过 -Djava.library.path 变量指定dll路径 为当前目录的dll目录。。
%javaexec% -classpath ".;.\classes;%~dp0bin" -Djava.ext.dirs="%~dp0lib" -Djava.library.path="%~dp0dll" chrriis.dj.nativeswing.swtimpl.demo.examples.webbrowser.Ati4vod