设为首页 加入收藏

TOP

JNA 调用 so 库(三)
2012-11-13 13:23:30 来源: 作者: 【 】 浏览:873
Tags:JNA  调用   so 

 

    4、 接下来进行编译:

    [plain]

    export CLASSPATH=$CLASSPATP:./jna.jar                         //这里是设置环境变量

    javac TestSo.java

    这里直接运行TestSo的话:

    [java]

    java TestSo

    Exception in thread "main" java.lang.UnsatisfiedLinkError: Unable to load library 'test': libtest.so: cannot open shared object file: No such file or directory

    at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:163)

    at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:236)

    at com.sun.jna.Library$Handler.<init>(Library.java:140)

    at com.sun.jna.Native.loadLibrary(Native.java:379)

    at com.sun.jna.Native.loadLibrary(Native.java:364)

    at TestSo$LgetLib.<clinit>(TestSo.java:7)

    at TestSo.add(TestSo.java:11)

    at TestSo.main(TestSo.java:15)

    这个错误是指找不到so文件。于是我们将so文件所在的目录设置到环境变量LD_LIBRARY_PATH中:

    vim /etc/profile

    在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC下面加入

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${你的so目录}

    之后,你可以检查一下设置的起没起效果:echo $LD_LIBRARY_PATH,如果出现你设置的内容就对了,如果没有,你可以重新打开一个窗口再查一下

    设置好环境变量之后,你就可以运行java类了:

    java TestSo

    10+20=30

    到此运行成功。

    如果你遇到了紧急的情事,而这个地方又搞不定,你可以暂时交so文件放到/usr/lib这个目录下面,一般是可以使程序运行的。

      

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇由点集序列或数组创建凸边形 下一篇一个简易画板的实现(Graphics&nbs..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: