代码复制工 2019-11-19 15:54 采纳率: 0%
浏览 854
已采纳

java使用JNI调用的dll依赖于其它dll路径该如何配置

jni调用dll扩展程序直接配置-Djava.library.path来指定dll所在目录即可以加载到dll,但是如果dll要依赖其它dll的时候会提示 Can't find dependent librarie即找不到dll的依赖库,这种情况可以将需要依赖的dll放到项目根目录下或者jdkbin目录下解决,但是想要导出jar包供其它调用就不行了,而且这种解决方法也不适用,总不能每次调用都把dll文件复制到根目录下,这时该如何处理?

  • 写回答

1条回答 默认 最新

  • churuxu 2019-11-19 18:07
    关注

    系统dll,不用管,
    运行库dll,发布时带一个运行库安装包(vcredistxxxx),或者编译自己的dll时采用静态链接去除运行库依赖
    第三方dll 和 你自己开发的dll,都放在一起,打包进jar里,运行时解压到xxx目录下

    系统dll,指的是操作系统自带的
    类似kernel32.dll user32.dll等

    运行库dll,指的是c/c++运行库相关的
    类似msvcpxxx.dll ms-xxxx-xxx-1-0.dll等

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?