HU-unix下面java调用C语言动态链接库_第1页
HU-unix下面java调用C语言动态链接库_第2页
HU-unix下面java调用C语言动态链接库_第3页
HU-unix下面java调用C语言动态链接库_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/glddydyzcwHU-unix下面java调用C语言动态链接库

我在Hp-unix下面用javaJNI怎么调用C语言的动态链接库??

System.loadLibrary("helloWorld");

C语言的动态链接库怎么生成??需要修改什么配置,也就是说java程序怎么才能找到这个动态链接库。

我运行的时候,出现了这个错误:

Exceptioninthread"main"java.lang.UnsatisfiedLinkError:no

helloWorldinjava.library.path??

难道要我把自己的动态链接库放到java.library.path目录下,但是这个目录只有root用户才可以操作的啊。

谢谢大哥的指导。2005-2-2516:56wolfgHU-unix下面java调用C语言动态链接库

放到LD_LIBRARY_PATH环境变量中2005-2-2517:06glddydyzcwHU-unix下面java调用C语言动态链接库

我已经

LD_LIBRARY_PATH=.:LD_LIBRARY_PATH

exportLD_LIBRARY_PATH

可是还是不行啊。文档来自于网络搜索2005-2-2517:09wolfgHU-unix下面java调用C语言动态链接库

还是那个错误吗2005-2-2517:27glddydyzcwHU-unix下面java调用C语言动态链接库

是的啊,还是这样的。不可以啊。在WIN下面编译成DLL调用是可以的。文档来自于网络搜索2005-2-2517:34glddydyzcwHU-unix下面java调用C语言动态链接库

我编译的步骤:

cc+z-c

helloWorld.c-I/cms/bea/jdk142_03/include-I/cms/bea/jdk142_03/include/hp-ux

ld-b-olibhelloWorld.sl

helloWorld.o

生成动态连接库,放到和.class同一目录下,然后就是LD_LIBRARY_PATH=.:LD_LIBRARY_PATH

exportLD_LIBRARY_PATH这个操作,

最后就是运行了。

结果就出现那个错误了。

请问这么做那个地方有问题啊??

谢谢了文档来自于网络搜索2005-2-2517:41wolfgHU-unix下面java调用C语言动态链接库

应该是这样吧

LD_LIBRARY_PATH=.:[b]$[/b]LD_LIBRARY_PATH

exportLD_LIBRARY_PATH

还有,觉得应该写so文件所在目录的绝对路径文档来自于网络搜索2005-2-2517:45glddydyzcwHU-unix下面java调用C语言动态链接库

在hp_unix下面的动态链接库不都是.sl的吗??

“应该写so文件所在目录的绝对路径”这个我也加上了啊。但是还是不行。

我感到迷惑的是:

异常是java.library.path这个路径,我把这个路径打印出来了。文档来自于网络搜索2005-2-2517:46wolfgHU-unix下面java调用C语言动态链接库

[quote][i]原帖由"glddydyzcw"发表:[/i]

在hp_unix下面的动态链接库不都是.sl的吗??

“应该写so文件所在目录的绝对路径”这个我也加上了啊。但是还是不行。

我感到迷惑的是:

异常是java.library.path这个路径,我把这个路径打印出来了。[/quote]

呵呵,抱歉,没用过HPUnix,你把异常信息贴上来吧文档来自于网络搜索2005-2-2517:48glddydyzcwHU-unix下面java调用C语言动态链接库

Exceptioninthread"main"java.lang.UnsatisfiedLinkError:nohelloWorldinjava

.library.path

atjava.lang.ClassLoader.loadLibrary(ClassLoader.java:1516)

atjava.lang.Runtime.loadLibrary0(Runtime.java:788)

atjava.lang.System.loadLibrary(System.java:834)

atMyNative.<clinit>;(MyNative.java:11)文档来自于网络搜索2005-2-2517:50wolfgHU-unix下面java调用C语言动态链接库

把LD_LIBRARY_PATH的设置也贴出来吧

echo$LD_LIBRARY_PATH的结果是什么?文档来自于网络搜索2005-2-2714:14glddydyzcwHU-unix下面java调用C语言动态链接库

搞定了,取得java.library.path,用ROOT用户将.SL文件拷贝过去就可以了啊.

多谢了文档来自于网络搜索2006-12-410:44dgguo固定重游,问一句,你将.sl文件COPY到哪个具体目录了

我添加exportLD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH就是不好用,错误

CannotloadJMsgCenterlibrary:

java.lang.UnsatisfiedLinkError:nolibJMsgCenterinjava.library.path

Exceptioninthread"main"java.lang.UnsatisfiedLinkError:JPQMsg

atJMsgCenter.JPQMsg(NativeMethod)

atJTest.<init>(JTest.java:15)

atJTest.main(JTest.java:8)文档来自于网络搜索2006-12-414:54yovn[quote]原帖由[i]dgguo[/i]于2006-12-410:44发表

我添加exportLD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH就是不好用,错误

CannotloadJMsgCenterlibrary:

java.lang.UnsatisfiedLinkError:nolibJMsgCenterinjava.library.path

Exceptioninthread&qu...[/quote]

引用到的Library也要在java.library.path里,

默认的java.library.path一般指向<jdk>/jre/bin和当前目录,你也可以通过启动程序时加上-Djava.library.path=<your_library_path>来显式指定!文档来自于网络搜索2006-12-416:33dgguoTHANKS

启动程序时加上-Djava.library.path=<your_library_path>来显式指定可以执

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论