Matlab mex选项未更新

Matlab mex options not being updated

本文关键字:更新 选项 mex Matlab      更新时间:2023-10-16

我在Mac OS 10.9.2上使用matlab r2011a上的mex编译文件时遇到了一些问题。我知道我需要有编译器标志-std=gnu++11为了使事情工作。我已经更新了mexopts.sh文件(~/.matlab/r2011a/mexopts.sh),以便在CXXFLAGS中添加所需的标志。然而,它似乎不工作。

如果我查看编译器配置:

cc = mex.getcompilerconfigurations('c++')

返回的cc.details.CompilerFlags与mexopts.sh中的值没有任何关系。

关于如何解决这个问题,以便编译器配置实际反映mexopts.sh文件有什么想法吗?

我算出来了。我只是没有注意到,在mexopts.sh中有许多不同的与机器相关的部分。尽管如此,我必须承认,据我所知,由于mex不支持交叉编译,因此Mathworks确实应该在安装过程中精简mexopts.sh,以仅反映安装它的计算机的设置。

我只需要向下滚动到标记为maci64)的部分,并在那里编辑设置。我将适当的标志(-std=gnu++11)添加到CXXFLAGS变量中,并且它工作了!