【问题标题】:unable to load a DLL in MATLAB through Java无法通过 Java 在 MATLAB 中加载 DLL
【发布时间】:2011-07-07 15:05:08
【问题描述】:

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

更新

我尝试了所有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 没有加载。

【问题讨论】:

    标签: java c++ matlab dll matlab-deployment


    【解决方案1】:

    我在 Matlab 论坛上发布了这个问题,终于得到了一些答案。以后遇到同样问题的朋友可以参考这个链接。

    http://www.mathworks.com/matlabcentral/answers/11321-loading-a-dll-in-mathlab-through-java

    【讨论】:

      【解决方案2】:

      问题可能出在很多地方,而且您的示例无法重现,因此很难按原样回答。为了追根溯源,我们需要找出问题所在,并缩小错误的根源。这里有一些可以尝试的方法。

      您能否直接运行您的 MATLAB 建模代码,包括运行对 DLL 的调用?

      如果您不调用 DLL,您的 MATLAB 代码会运行吗? (也许是假的电话,现在让它返回一个号码。)

      你能从你的 JAVA 项目中调用 DLL 中的其他方法吗?

      【讨论】:

      • 0 反对票接受我做了所有这些。我可以在 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 没有加载。
      猜你喜欢
      • 1970-01-01
      • 2020-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      • 1970-01-01
      • 2017-06-26
      • 2012-01-30
      相关资源
      最近更新 更多