java - 无法通过 Java 在 MATLAB 中加载 DLL

标签 java c++ matlab dll matlab-deployment

我正在开发一个使用 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 文件连同头文件也在该目录中。

更新

我尝试了所有 Richiesuggestions .

  1. 我可以在 MATLAB 上运行使用 DLL 的方法。

  2. 我可以从 Java 调用任何不使用 DLL 的普通方法。

  3. 我什至可以调用使用 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/

相关文章:

Java Spring : getting the generic type

java - getCanonicalPath 和 toRealPath 之间的区别

java - 如何指定jgitflow发布完成触发的自动构建的构建选项?

c++ - 'operator=' 的不明确过载

matlab - MATLAB中的错误处理和插值

java - 如何使用 JUnit 设置全局规则

c++ - 如何为 LookAt 转换获取正确的 Up vector ?

c++ - 做系统();命令的工作方式与批处理命令完全相同?

python - 将 python/numpy "A.argmin(axis=-1)"转换为等效的 matlab 表达式

Matlab语法矩阵括号或无括号