我正在开发一个使用 MATLAB 代码进行计算的 Java GUI 应用程序。但是,MATLAB 代码本身使用 DLL 文件。我将所有 MATLAB 函数打包到一个类中并创建了一个 jar 文件。
我在Java项目的项目根文件夹中添加了C头文件和DLL文件,并将包含MATLAB代码的jar添加到属性中。但是,当我调用这些方法时,它似乎可以执行,但无法加载 DLL 文件。
这是我收到的错误消息:
{??? Error using ==> loadlibrary at 477
There was an error loading the library
**"C:\Users\AUG\Documents\Backup\SourceTracing\epanet2.dll"**
FAiled..Error using ==> loadlibrary at 477
Undefined function or variable 'epanet2_proto'.
There was an error loading the library
"C:\Users\AUG\Documents\Backup\SourceTracing\epanet2.dll"
Error in ==> epanetloadfile at 31
Undefined function or variable 'epanet2_proto'.
Error in ==> sourceTraceGUI at 8
当我实际检查地址时,DLL 文件与头文件一起存在于该目录中。
更新
我可以在 MATLAB 上运行使用 DLL 的方法。
我可以从 Java 中调用任何不使用 DLL 的普通方法。
我什至可以调用使用 DLL 的方法,但是当库应该加载时就会出现问题。
它说
Error using ==> loadlibrary at 477
There was an error loading the library
"C:\Users\AUG\Documents\Backup\SourceTracing\epanet2.dll"
如果我在 MATLAB 中运行代码,一切正常。只是当我从 Java 运行时,DLL 没有加载。