我们正在为Linux开发一个桌面Java应用程序,该程序使用本地.so库访问一系列外设(包括USB和串口外设)。有些供应商只提供32位库,而有些供应商只提供64位版本。由于我们需要所有外设在我们的应用程序中运行,因此我们必须找到一种同时运行两种架构的方法。
我们正在使用JNA连接我们Linux文件系统中的本地库。当我们在64位JRE下运行我们的软件时尝试访问32位库时,我们会收到以下错误消息:
我们正在使用JNA连接我们Linux文件系统中的本地库。当我们在64位JRE下运行我们的软件时尝试访问32位库时,我们会收到以下错误消息:
java.lang.UnsatisfiedLinkError: /usr/lib/jni/libsatprotocol.so: wrong ELF class: ELFCLASS32
是否有一种方式可以在单个JRE中同时运行两种架构?我们可以将某些32位JRE库添加到64位JRE中吗?以不同的方式访问本机库是否可行?