FORTRAN-MATLAB MEX文件错误

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

  • MinGW 's root directory ---> Pointed towards c:\mingw b) Cygwin' s

  • 根目录----->左侧空白c)

  • g95.exe的路径------> c:\ mingw \ bin

  • gfortran.exe的路径------> c:\ program files \ gfortran \ bin e)

  • gnumex工具路径------> c:\ users ..... \ matlab \ gnumex

  • 环境链接类型------> MinGW

  • 生成mex dll或引擎-----> mex

  • 汇编语言-------> fortran 77

  • 添加存根------>没有

  • 优化级别-----> -O3

  • 库和.def文件的路径c:\ users ... \ Roaming \ MathWorks \ MATLAB \ R2010a \ gnumex

  • 要创建的Mex选项文件:c \ users ... \ Roaming \ MathWorks \ MATLAB \ R2010a \ mexopts.bat

以上是我使用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在222无法成功完成时出错 .

我尝试了几次卸载,但最终出现了同样的错误 . 谁能告诉我哪里出错了?这不是连接g77的正确程序吗?请详细说明一下 .

我很感激你的时间..

谢谢 .

回答(1)

2 years ago

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

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

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