2011-04-06 132 views
1

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

  1. MinGW的根目录--->尖头朝C:\ MinGW的B)Cygwin的
  2. 根目录----- > left blank c)
  3. g95.exe的路径------> c:\ mingw \ bin
  4. gfortran.exe的路径------> c:\ program files \ gfortran \ bin e)
  5. gnumex公用程序的路径------> c:\ users ..... \ matlab \ gnumex
  6. 环境连接类型------> Min GW
  7. 产生MEX DLL或发动机-----> MEX
  8. 语言编译-------> FORTRAN 77
  9. 附加存根------>没有
  10. 优化\ USERS \漫游\ MathWorks公司\ MATLAB \ R2010a版本\ gnumex

  11. 墨西哥选项文件创建:图书馆和.DEF文件 C水平-----> -O3

  12. 路径: c \ users ... \ Roaming \ MathWorks \ MATLAB \ R2010a \ mexopts.bat

以上是我使用gnumex安装mex的安装。当我击使选项文件,一个警告信息弹出,它说 “不能corret mex.pl ..... ‘无法打开C:\ R2010a版本\ BIN \ mex.pl写’

当我点击确定,再次弹出说确认覆盖mexopts.bat 我点击确认并创建选择文件

在这一点上我应该有我的mex设置准备好了但是,当我跑fortran mex的例子xtimesy.f等(我在命令提示符下使用mex filename.f),并且我得到以下错误

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

我试过这个卸载多次,但结束了相同的错误。 任何人都可以请让我知道我哪里错了。这不是链接g77的正确程序吗?请在此点亮一下。

我很感谢你的时间..

谢谢。

回答

1

我最近试图mex一些fortran例程,并失败,因为在Windows中matlab对fortran编译器的支持不佳。我通过使用f2c将Fortran转换为C代码解决了这个问题,然后在C中创建了一个网关例程,该例程调用自动生成的C代码函数,并使用Visual Studio 2008编译器编译结果,该编译器与matlab很好地集成版本版本就足够了,你也可以使用它进行调试)。

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

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

+0

我想新版本与gnumex几乎没有问题(如在gnumex目录下的自述文件中所述)。目前,我安装了R2008a并使用了fortran和mex。一旦这个工程将会通知.. – Superted 2011-04-29 03:32:20