Java语言Linux中的lang.UnsatifiedLinkError

 2023-01-20    302  

问题描述

我已经设法进入Linux机器尝试此答案.

我已经编译了示例代码,现在我运行了程序,并且收到了以下消息:

Java语言Linux中的lang.UnsatifiedLinkError

[oracle@machine jxgrabkey-0.2.1_i386]$ java -classpath lib/JXGrabKey.jar:Example JXGrabKeyTest

Exception in thread "main" **java.lang.UnsatisfiedLinkError:** /home/oracle/javasample/jxgrabkey-0.2.1_i386/lib/libJXGrabKey.so: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /home/oracle/javasample/jxgrabkey-0.2.1_i386/lib/libJXGrabKey.so)
   at java.lang.Runtime._load(libgcj.so.7rh)
   at java.lang.Runtime.load(libgcj.so.7rh)
   at java.lang.System.load(libgcj.so.7rh)
   at JXGrabKeyTest.main(JXGrabKeyTest.java:17)

我知道如何在Windows中处理此操作(仅通过将DLL添加到路径env var),但是我对Linux不太确定.

我已经阅读了有关ld_library_path和其他一些env vars的信息,但我可以使它起作用.

有建议吗?

编辑

After the support from mmyers to indentify the problem and reading 此线程和其他.

我可以说:

我的系统是:Linux 2.6.18-53.el5

我的GCC版本是:

GCC-C ++ -4.1.2-14.el5

GCC-GFORTRAN-4.1.2-14.el5

libgcc-4.1.2-14.el5

GCC-4.1.2-14.el5

问题是我需要GCC 4.2.0

显然我的系统没有GCC 4.2.0.

我想我必须等待它来或作者在以前的版本中重新编译.

mmyers,非常感谢您的帮助.

推荐答案

您是否尝试过-Djava.library.path=/path/to/library?

编辑:重新阅读错误消息,在我看来,您正在加载的本机库正在尝试链接到GLIBC版本3.4.9,显然没有安装.您可以检查哪个版本的GLIBC?您正在运行什么Linux发行版?

edit2:这个问题似乎已缩小到libstdc ++.我即将了解自己的知识,但是此线程可能很有用.它建议升级到GCC 4.2;从评论中,您似乎拥有4.1.2版.让我知道这是否不起作用.

其他推荐答案

subes,jxgrabkey dev这里…

我本人对这个错误了解不多,但是您对GCC和/或libstdc ++的领导应该是正确的

我个人使用的是使用Ubuntu 8.10 ATM运送的GCC版本.我总是坚持最新的版本.

当前版本:g ++(ubuntu 4.3.2-1ubuntu12)4.3.2

我的计算机上安装了以下LIBSTDC ++软件包:
http://packages.ubuntu.com/intrepid/libstdc++5
http://packages.ubuntu.com/intrepid/libstdc++6 /p>

以上所述是小编给大家介绍的Java语言Linux中的lang.UnsatifiedLinkError,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/26080.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。