miss_dog
代码复制工
采纳率100%
2019-11-19 15:54 阅读 571

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 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等

    点赞 评论 复制链接分享

相关推荐