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

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等

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

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大