免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1301 | 回复: 5
打印 上一主题 下一主题

求救:哪位老大知道怎样在openserver中实现jni调用啊 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-04 14:20 |只看该作者 |倒序浏览
哪位老大知道怎样在openserver中实现jni调用啊。我现在用cc -dy -G -o mylib.so myproc.c ,在java类中调用本地方法的时候总是unsatisfiedLinkError,在库路径中找不到mylib
    我在网上查了一天了,只有文档说不可以用gun提供的gcc,必须要用udk,但是没有详细说应该怎样做的。
    我可以设的环境变量都设了,输出的java.library.path路径中是有动态库文件的。

论坛徽章:
0
2 [报告]
发表于 2005-06-04 21:27 |只看该作者

求救:哪位老大知道怎样在openserver中实现jni调用啊

把那个lib文件的名字改成libmylib.so看看

论坛徽章:
0
3 [报告]
发表于 2005-06-04 21:58 |只看该作者

求救:哪位老大知道怎样在openserver中实现jni调用啊

这种办法试过的。最奇怪的是jdk自带的demo中有jni的例子,同样不好使。在demo中,有个文件夹jni_c_demo,里面有三个文件,其中一个是批处理,另两个一个是c文件、一个是java文件。批处理先编译java文件生成class文件,再得到c的头文件,然后编译并连接生成c的动态库,名字是libfib.so,最后启动java的class文件。运行批处理,先有一个编译错误,是说在头文件jni_md.h中有个类型不匹配的错误,打开那个文件一看,里边有这样一个类型定义:typedef long long jlong,编译通不过错误就在这,改为:type long jlong就能通过了,而且动态库等所有文件都生成了,单在调用java的class的时候,抛出下面异常:
    java.lang.UnsatisfiedLinkError: no libfib in java.library.path

论坛徽章:
0
4 [报告]
发表于 2005-06-04 22:16 |只看该作者

求救:哪位老大知道怎样在openserver中实现jni调用啊

网上有一片文章,说在java1.3以上的版本中,用System.load(fileName)替代了System.loadLibrary(libName),我把demo程序中的loadLibrary改为load,出现的异常为:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/java2-1.3.1/demo/native/jni_c_demo/libfib.so: dynamic linker: /usr/j
ava/bin/../bin/x86at/green_threads/java: UDK executable cannot load OpenServer shared object: /opt/java2-1.3.1/demo/native/jni_c_dem
o/libfib.so

论坛徽章:
0
5 [报告]
发表于 2005-06-04 23:29 |只看该作者

求救:哪位老大知道怎样在openserver中实现jni调用啊

原帖由 "Virtual_IP" 发表:
java.lang.UnsatisfiedLinkError: no libfib in java.library.path
..

应该是 System.loadLibrary("fib";不是System.loadLibrary("libfib";

论坛徽章:
0
6 [报告]
发表于 2005-06-05 10:09 |只看该作者

求救:哪位老大知道怎样在openserver中实现jni调用啊

都不能运行。源程序写的是fib,因为系统提示找不到,而动态库的名字叫libfib,我就改了一下,无论怎样,都抛异常。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP