Matlab mex选项未更新

时间:2014-08-13 18:33:20

标签: c++ matlab mex

我在使用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文件的任何想法?

1 个答案:

答案 0 :(得分:1)

所以我想出来了。我只是错过了mexopts.sh中有许多不同的机器相关部分的事实。虽然,我必须承认,因为mex不支持交叉编译,据我所知,然后Mathworks真的应该在安装过程中减少mexopts.sh以仅反映安装它的计算机的设置。

我只需向下滚动到标有maci64)的部分,然后在那里编辑设置。我在-std=gnu++11变量中添加了相应的标记(CXXFLAGS),它可以正常工作!