FORTRAN-MATLAB MEX文件错误

时间:2011-04-06 00:01:51

标签: matlab mex

这是Subhash。我在连接fortran-matlab mex文件时遇到问题。 我正在运行MATLAB R2010a。我正在尝试在MATLAB中使用mex fortran子程序。我已经安装了MSYS,MinGW和gfortran。我还在c:\​​ documents \ MATLAB文件夹中下载并提取了gnumex。我输入了gnumex来运行安装设置。 此时,我看到一个窗口弹出窗口,我输入以下内容:

  1. MinGW的根目录--->指向c:\ mingw b)Cygwin的
  2. 根目录----->留空c)
  3. g95.exe的路径------> C:\ MinGW的\ BIN
  4. gfortran.exe的路径------> c:\ program files \ gfortran \ bin e)
  5. gnumex工具的路径------> c:\ users ..... \ matlab \ gnumex
  6. 环境链接类型------> MinGW
  7. 生成mex dll或引擎-----> mex
  8. 汇编语言-------> fortran 77
  9. 添加存根------>没有
  10. 优化级别-----> -O3

  11. 库和.def文件的路径 C:\用户... \漫游\ MathWorks公司\ MATLAB \ R2010a版本\ gnumex

  12. 要创建的Mex选项文件: Ç\用户... \漫游\ MathWorks公司\ MATLAB \ R2010a版本\ mexopts.bat

  13. 以上是我使用gnumex进行mex的安装设置。当我点击make选项文件时,会弹出一条警告消息 “无法纠正mex.pl ..... “无法打开c:... \ R2010a \ bin \ mex.pl进行写作”

    当我点击确定时,它再次弹出说要确认覆盖mexopts.bat。 我点击确认并创建了opt文件。

    此时我应该准备好我的mex设置。但是,当我运行fortran mex示例xtimesy.f等时(我在命令提示符下使用mex filename.f)并且我收到以下错误

    g77:getValidInputLinkLibraries:没有这样的文件或目录 c:\ prog~1 \ MATLAB \ R2010A \ BIN \ MEX.PL:错误:'xtimesy.mexw32'链接失败。 使用--->时出错mex at 222 无法顺利完成。

    我多次试过这次卸载,但结果却出现了同样的错误。 谁能告诉我哪里出错了。这不是连接g77的正确程序吗?请详细说明一下。

    感谢你的时间..

    感谢。

1 个答案:

答案 0 :(得分:1)

我最近尝试过mex一些fortran例程,但由于windows中的matlab对fortran编译器的支持不佳而失败了。我通过使用f2c将fortran转换为C代码,然后在C中创建一个网关例程来调用自动生成的C代码函数并使用与matlab(免费快递)完美集成的visual studio 2008编译器来解决问题。版本版已足够,您也可以使用它进行调试)。

你可以从http://www.netlib.org/f2c/获得f2c。您必须将生成的C代码链接到f2c库,您可能还必须从源代码构建它。

我知道这听起来很复杂,但这是我找到的最简单的解决方案。