如何解决java调dll报Unable to load library的错误

 我来答
育知同创教育
2016-01-31 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
  载入库文件有两个函数,
  System.load和System.loadLibrary。
  当使用System.load
  时,需要输入文件的全路径,例如:
  System.load(“/tmp/test.so”);当使用System.loadlibrary
  时是在系统的library的目录中需找符合条件的库文件,可以使用
  -Djava.library.path=[path]参数,来指定Java程序加载库文件的路径,或者将库文件(
  *.so,*.dll)复制到include的默认路径,
  Linux一般是/usr/lib目录下,当然可以编辑/etc/ld.so.conf.d/下的文件,设定自己的库查找路径ldconfig -v|grep xxx看看有没有动态库。
  Linux还要注意,使用
  System.loadLibrary(name)方法其中参数内容与Windows有区别,
  Linux中的的库文件名为libname.so.dll。在Windows中尽量使用Windows的C/C++编译器生成dll文件,否则会出现问题。
1997排长
高粉答主

2016-01-09 · 说的都是干货,快来关注
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:873万
展开全部
载入库文件有两个函数System.load和System.loadLibrary。

当使用System.load时,需要输入文件的全路径,例如:System.load(“/tmp/test.so”);

当使用System.loadlibrary时是在系统的library的目录中需找复合条件的库文件,可以使用
-Djava.library.path=[path]参数,来指定Java程序加载库文件的路径,或者将库文件(
*.so,*.dll)复制到include的默认路径,Linux一般是/usr/lib目录下,当然可以编辑/etc/ld.so.conf.d/下的文件,设定库查找路径ldconfig -v|grep xxx看看有没有动态库。

Linux还要注意,使用System.loadLibrary(name)方法其中参数内容与Windows有区别,
Linux中的的库文件名为libname.so,.dll。
在Windows中尽量使用Windows的C/C++编译器生成dll文件,否则会出现问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQMSD8
2015-12-15 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部
错误已很明显的告诉人了,没有加载到library,是不是加载的路径不对啊,java调用dll,是用什么语言写的,建议用JNI 或者JNA 去调用。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式