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

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等

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

报告相同问题?

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表