无法在Heroku(Java)上加载DLL < P>我想通过JNI调用C++方法。为此,我需要使用system方法system.loadLibrary

无法在Heroku(Java)上加载DLL < P>我想通过JNI调用C++方法。为此,我需要使用system方法system.loadLibrary,java,c++,heroku,dll,java-native-interface,Java,C++,Heroku,Dll,Java Native Interface,首先,我尝试在localhost上运行它。我遇到了类似“UnsatifiedLinkError:在java.library.path中找不到DLL”的问题。此问题的解决方案是使用本指南中的类NativeUtils。而且它在本地主机上也能完美地工作 但当我在heroku上部署它时,我出现了一个错误“无效的ELF头(可能的原因:endianness不匹配)” 我如何处理它?Heroku服务器基于Linux,而您的DLL仅在windows上工作。这就是为什么会出现错误,解决方法是创建一个Linux共享

首先,我尝试在localhost上运行它。我遇到了类似“UnsatifiedLinkError:在java.library.path中找不到DLL”的问题。此问题的解决方案是使用本指南中的类NativeUtils。而且它在本地主机上也能完美地工作

但当我在heroku上部署它时,我出现了一个错误“无效的ELF头(可能的原因:endianness不匹配)”


我如何处理它?

Heroku服务器基于
Linux
,而您的
DLL
仅在windows上工作。这就是为什么会出现错误,解决方法是创建一个
Linux
共享库。我建议配置一个具有Heroku实例所具有的Linux风格的虚拟机,在那里构建库,并在存储库中使用它,而不是DLL


C++ >编辑:我找到了一个可以帮助你在HeloCu实例上直接编译库的文章:

HeloCu是否与Windows系统一起工作?这是我做的:也许你知道编译的可能性吗?或者没有虚拟机的方式:)