我正在开发一个使用 MATLAB 代码进行计算的 Java GUI 应用程序。但是,MATLAB 代码本身使用 DLL 文件。我将所有 MATLAB 函数打包到一个类中并创建了一个 jar 文件。
我在Java项目的项目根目录下添加了C头文件和DLL文件,并将包含MATLAB代码的jar添加到properties中。但是,当我调用这些方法时,它似乎执行了,但它无法加载 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 文件连同头文件也在该目录中。
更新
我尝试了所有 Richie的 suggestions .
我可以在 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 没有加载。
最佳答案
我把这个问题发到Matlab论坛上,终于得到了一些答案。对于以后遇到同样问题的人,请引用此链接。
http://www.mathworks.com/matlabcentral/answers/11321-loading-a-dll-in-mathlab-through-java
关于java - 无法通过 Java 在 MATLAB 中加载 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6612772/