win7 32位系统上,java程序调用Qt写的动态库,Qt build的时候没报任何错。 我用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的错误。 求解决。 |
|
20分 |
缺少依赖的lib库
|
已经用dependency walker查看了缺少的dll,并在网上下载放到system32 中了,而且dependency walker中已经没有缺少依赖库的错误了。 还有别的方法查看缺少依赖的库吗? |
|
20分 |
通过 -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 |
更新:
4楼的问题已经解决。 load()的参数,dll的路径中只写了文件名 像这样 c:\123\456 改成c:\123\456.dll 就对了。 |