如何解决java调dll报Unable to load library的错误
2个回答
2016-01-08 · 百度认证:北京新东方迅程网络科技股份有限公司官方账号
新东方在线网络课堂
新东方在线是新东方集团旗下唯一专业在线教育网站,提供出国留学、考研培训、英语培训和职业教育培训的综合网络教育培训机构。致力于为广大用户提供个性化、互动化、智能化的在线学习体验。
向TA提问
关注
展开全部
解决java调dll报Unable to load library的错误可以尝试以下方法:
载入库文件有两个函数,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,Windows为name.dll。
在Windows中尽量使用Windows的C/C++编译器生成dll文件,否则会出现问题。
不过具体问题还要具体对待!
载入库文件有两个函数,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,Windows为name.dll。
在Windows中尽量使用Windows的C/C++编译器生成dll文件,否则会出现问题。
不过具体问题还要具体对待!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询