我们正在为Linux开发一个桌面Java应用程序,该应用程序使用本机.so库访问一系列外围设备(包括USB和串行端口代理)。一些供应商只提供32位库,而另一些供应商只提供64位版本。由于我们需要在应用程序中运行所有的外围设备,所以我们必须找到一种方法来运行这两种架构。
我们使用JNA连接到Linux文件系统中的本机库。当我们在64位JRE下运行软件时,尝试访问32位库时,会得到以下错误消息:
java.lang.UnsatisfiedLinkError: /usr/lib/jni/libsatprotocol.so: wrong ELF class: ELFCLASS32在单个JRE中有任何方法运行这两种架构吗?我们可以在我们的64位JRE中添加某些32位JRE库吗?以不同的方式访问本机库是否有效?
发布于 2015-12-07 13:26:38
发布于 2015-12-07 13:32:58
如果您在64位上安装了一个JRE,您可以运行两个JVM,一个32位,一个64位。在一个JVM中两者都是不可能的。
https://stackoverflow.com/questions/34134659
复制相似问题