qq_41208912
qq_41208912
采纳率0%
2019-03-14 17:56 浏览 1.7k

java调用动态库异常 UnsatisfiedLinkError.

使用的是64位Ubuntu系统
调用的是海康威视的api.
报错的代码如下

HCNetSDK INSTANCE = (HCNetSDK) loadLibrary("hcnetsdk",
            HCNetSDK.class);

本机windows10 64为执行完全正常 打包jar程序放入Ubuntu 执行java -jar xx.jar
抛出异常

Exception in thread "main" java.lang.UnsatisfiedLinkError: jnidispatch (/com/sun/jna/linux-aarch64/libjnidispatch.so) not found in resource path
    at com.sun.jna.Native.loadNativeLibraryFromJar(Native.java:568)
    at com.sun.jna.Native.loadNativeLibrary(Native.java:550)
    at com.sun.jna.Native.<clinit>(Native.java:87)
    at HCNetSDK.<clinit>(HCNetSDK.java:39)
    at Main.main(Main.java:28)

jar包目录结构如下
图片说明
解决重谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • weixin_43398726 甘柏青 2020-12-12 17:26

    我也有同样的问题,我现在想在ARM架构的Linux下使用JNA调用.so文件,但是之前在Windows那边能用的JNAjar包放到Linux就不能用了,应该是没找到对应的jna.jar版本,建议去gitHub下载(虽然我也不知道怎么找,英文不好)

    点赞 评论 复制链接分享
  • weixin_53417883 龙灵方舟 2021-01-14 17:33

    现在解决了吗?

    跪求方法

     

    点赞 评论 复制链接分享

相关推荐