Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java 1.4和Suse 9的32位和64位共享库行为_Java_Linux_Suse - Fatal编程技术网

使用Java 1.4和Suse 9的32位和64位共享库行为

使用Java 1.4和Suse 9的32位和64位共享库行为,java,linux,suse,Java,Linux,Suse,首先,对你们大家来说,这可能是一个非常棘手的问题。但正如他们所说,如果你不问,你如何学习 所以,事情是这样的: 我们已经开发了这个.JAR文件以在Java1.4下工作,并安装在SUSE9EnterpriseServer中 我们还在不同的平台上进行了测试: -Suse 9企业服务器32位+JDK 1.4.208+LIBSTDC++.SO.6: 运行平稳,没有返回错误 Red Hat 5.5服务器64位+JDK 1.4: 运行平稳,没有返回错误 Suse 9企业服务器64位+JDK 1.4.2_0

首先,对你们大家来说,这可能是一个非常棘手的问题。但正如他们所说,如果你不问,你如何学习

所以,事情是这样的:

我们已经开发了这个.JAR文件以在Java1.4下工作,并安装在SUSE9EnterpriseServer中

我们还在不同的平台上进行了测试: -Suse 9企业服务器32位+JDK 1.4.208+LIBSTDC++.SO.6: 运行平稳,没有返回错误

  • Red Hat 5.5服务器64位+JDK 1.4: 运行平稳,没有返回错误

  • Suse 9企业服务器64位+JDK 1.4.2_08(32位)+LIBSTDC++.SO.6: 如果我使用程序的32位库,它将返回一个错误,说明: 线程“main”java.lang.unsatifiedlinkerror:/usr/lib/MySharedLibrary.so:/usr/lib/MySharedLibrary.so:未定义符号:NFQuality中出现异常

但是,如果我使用程序的64位库,它将返回以下错误: 线程“main”java.lang.unsatifiedlinkerror:/usr/lib64/MySharedLibrary64.so:/usr/lib64/MySharedLibrary64.so中的“异常”:无法打开共享对象文件:没有此类文件或目录

我已经尝试使用MySharedLibrary所在的路径给出java-Djava.library.path命令,但没有成功

我的问题是:

如果它的配置与Suse 9 32位完全相同,为什么它会返回Suse 9 64位错误?

我知道架构之间有区别,但这不是架构编译的问题,因为在64位的RedHat 5.5中它确实运行

有人能引导我解决这个难题吗?我可能的解决方案是什么


感谢各位专家。

您无法从32位JVM链接64位库。如果要链接64位库,请使用64位java


至于未定义的符号。可能您的链接已断开,因为suse缺少redhat上存在的某个库。我认为,如果不了解更多有关MySharedLibrary的信息,就无法回答此问题。因此,

您无法从32位JVM链接64位库。如果您想链接64位库,请使用64位java。


至于未定义的符号。您可能有一个断开的链接,因为suse缺少redhat上存在的某个库。我认为在不了解更多有关MySharedLibrary的信息的情况下无法回答这个问题。因此

感谢您的回答。如果我在32位JVM中使用32位库怎么办?它应该像在suse 3中那样运行吗2位?是的,您可以链接32位。因此,从32位JVM开始。谢谢您的回答。如果我在32位JVM中使用32位库会怎么样?它是否应该像在Suse 32位中那样运行?是的,您可以链接32位。因此,从32位JVM开始。