Java jna调用so文件报错,错误提示是java.lang.UnsatisfiedLinkError

Java jna调用so文件报错,错误提示是java.lang.UnsatisfiedLinkError: Unable to load library 'Encrypt': Native library (linux-x86-64/libEncrypt.so) not found in resource path。
排除so 64和32位问题,
排除so 依赖项缺失问题,
用c++调用该so可以成功执行
最后发现问题解决办法是编译so时需要增加stdc++的库,即 -lstdc++ 。
这真是个大坑啊,jna调用为什么一定要加stdc++的库,而纯c++代码调用确不用?有人知道可以告知一下。
posted @ 2020-07-01 14:11  ~乾坤#  阅读(4141)  评论(0编辑  收藏  举报