这是Subhash。我在连接fortran-matlab mex文件时遇到问题。 我正在运行MATLAB R2010a。我正在尝试在MATLAB中使用mex fortran子程序。我已经安装了MSYS,MinGW和gfortran。我还在c:\ documents \ MATLAB文件夹中下载并提取了gnumex。我输入了gnumex来运行安装设置。 此时,我看到一个窗口弹出窗口,我输入以下内容:
优化级别-----> -O3
库和.def文件的路径 C:\用户... \漫游\ MathWorks公司\ MATLAB \ R2010a版本\ gnumex
要创建的Mex选项文件: Ç\用户... \漫游\ 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 at 222 无法顺利完成。
我多次试过这次卸载,但结果却出现了同样的错误。 谁能告诉我哪里出错了。这不是连接g77的正确程序吗?请详细说明一下。
感谢你的时间..
感谢。
答案 0 :(得分:1)
我最近尝试过mex一些fortran例程,但由于windows中的matlab对fortran编译器的支持不佳而失败了。我通过使用f2c将fortran转换为C代码,然后在C中创建一个网关例程来调用自动生成的C代码函数并使用与matlab(免费快递)完美集成的visual studio 2008编译器来解决问题。版本版已足够,您也可以使用它进行调试)。
你可以从http://www.netlib.org/f2c/获得f2c。您必须将生成的C代码链接到f2c库,您可能还必须从源代码构建它。
我知道这听起来很复杂,但这是我找到的最简单的解决方案。