首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试为Matlab添加Fortran编译器

尝试为Matlab添加Fortran编译器
EN

Stack Overflow用户
提问于 2017-06-29 13:29:05
回答 2查看 1.1K关注 0票数 0

我有一个扩展名为.F的文件,我想编译它,以便与我的Matlab代码一起使用。为了做到这一点,我正在尝试使用mex工具。"mex -setup FORTRAN -v“返回。

mex -setup FORTRAN -v

详细模式已开启。

..。寻找编译器'Intel Visual XE 2011与微软SDK 7.1‘.

..。寻找环境变量'IFORT_COMPILER12‘...No。

没有找到已安装的编译器'Intel Visual Fortran Composer XE 2011与Microsoft 7.1‘。

..。寻找编译器'Intel Visual XE 2011与微软Visual 2008‘.

..。寻找环境变量'IFORT_COMPILER12‘...No。

未找到已安装的编译器“Intel Visual Fortran Composer XE 2011 with Microsoft Visual Studio 2008”。

..。寻找编译器'Intel Visual XE 2011与微软Visual 2010‘.

..。寻找环境变量'IFORT_COMPILER12‘...No。

未找到已安装的编译器“Intel Visual Fortran Composer XE 2011 with Microsoft Visual Studio 2010”。

..。寻找编译器'Intel Visual XE 2013与微软Visual 2008‘.

..。寻找环境变量'IFORT_COMPILER14‘...No。

..。寻找环境变量'IFORT_COMPILER13‘...No。

未找到已安装的编译器“Intel Visual Fortran Composer XE 2013 with Microsoft Visual Studio 2008”。

..。寻找编译器'Intel Visual XE 2013与微软Visual 2010‘.

..。寻找环境变量'IFORT_COMPILER14‘...No。

..。寻找环境变量'IFORT_COMPILER13‘...No。

未找到已安装的编译器“Intel Visual Fortran Composer XE 2013 with Microsoft Visual Studio 2010”。

..。寻找编译器'Intel Visual XE 2013与微软Visual 2012‘.

..。寻找环境变量'IFORT_COMPILER14‘...No。

..。寻找环境变量'IFORT_COMPILER13‘...No。

未找到已安装的编译器“Intel Visual Fortran Composer XE 2013 with Microsoft Visual Studio 2012”。

使用mex时出错

未找到受支持的编译器或SDK。有关选项,请访问http://www.mathworks.com/support/compilers/R2014b/win64.html

在我看来,问题在于我没有任何默认编译器。所以我用gfortran编译器下载了MGW,现在我想把它设置为mex编译的工具。我还没有找到任何关于如何上网的说明。我很乐意就如何做到这一点或任何其他方式提出建议。

为那些能想到其他选择的人提供一些额外的信息。我得到了扩展名为.F的文件,我用扩展mexa64编译了二进制文件,后者是Linux二进制的意思。但我需要得到的是mexw64,这是64位Windows的版本。

----这是getCompilerConfigurations的输出,它表明存在一个C编译器,而没有Fortran编译器

mex.getCompilerConfigurations('C')

安=

具有属性的CompilerConfiguration:

代码语言:javascript
复制
         Name: 'Microsoft Visual C++ 2012 (C)'
 Manufacturer: 'Microsoft'
     Language: 'C'
      Version: '11.0'
     Location: 'D:\apps\visualstudio2012'
    ShortName: 'MSVC110'
     Priority: 'A'
      Details: [1x1 mex.CompilerConfigurationDetails]
   LinkerName: 'link'
LinkerVersion: ''
       MexOpt: 'C:\Users\Ian\AppData\Roaming\MathWorks\MATLAB\R2014b\mex_C_win64.xml'

Mex.getCompilerConfigurations(“Fortran”)

安=

具有属性的0x1 CompilerConfiguration数组:

代码语言:javascript
复制
Name
Manufacturer
Language
Version
Location
ShortName
Priority
Details
LinkerName
LinkerVersion
MexOpt
EN

回答 2

Stack Overflow用户

发布于 2019-11-06 11:52:32

您需要为mingw编译器创建自己的mexopts安装xml文件。

在/bin/mexopts文件夹中,将有一个mingw64.xml文件。这是支持的混合gcc编译器的mexopts文件。在顶部的配置选项中,它说是Language="C"

在定义编译器和链接器等命令时,文件的结构非常清楚。因此,您需要为FORTRAN编译和链接创建一个等效的文件,然后可以设置Language="FORTRAN"

一旦您创建了mexopt文件,例如my_mingw_Fortran.xml,您就可以在MATLAB提示符下使用下面的命令告诉MATLAB将其用于FORTRAN

mex setup:my_mingw_Fortran.xml FORTRAN -v

对不起,我没有Windows上的混合/gcc示例,但是我使用这个过程来获得MATLAB,在Linux机器上使用Intel Fortran编译器。

票数 1
EN

Stack Overflow用户

发布于 2017-06-29 13:40:33

你可以试试Gnumex工具。它将默认的mex文件基础结构替换为Mingw编译器(实际上,您可以在gnumex和内置mex处理之间来回切换)。对我来说(Matlab2014b),它工作得很好,我也用它来编译Fortran代码。我只需要明确地链接到gfortran图书库。它需要TDM-GCC变体的明。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44826520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档