Matlab2014添加对新版Xcode的mex编译支持(macOS High Sierra, Xcode 8.3)
Mac下matlab编译c代码找不到编译器解决办法。 前几天我自己作死把我的MacBook搞崩溃了,索性就重新装一次系统,这正好将两年多的系统垃圾清一清。 由于学习的需要,装好系统首先就得安装Xccode和Matlab,其中最近用到的一个代码需要matlab编译一段c写的代码,之前就用过所以很熟练的运行mex -setup命令,而并没有配置成功反而返回的是一个错误:MEX cannot find a supported compiler matlab找不到编译器了。这也不难理解,我用的是matlab2014,而系统是2017年新出的High Sierra, 关键我还是用的测试beta版。Xcode也是新下载的最新版。谷歌百度查询了一些解决方法,在这里总结一下,一是给自己一个备份,说不定之后哪天还会用到,二是有人再遇到这样的情况也可以参考一下我的教程。 很简单,修改几个地方的内容就好了,文件在这里:/Applications/MATLAB_R2014b.app/bin/maci64/mexopts/下边的两个文件:clang_maci64.xml clang++_maci64.xml 进入这个文件夹可以用下边的步骤: 打开Finder左边导航栏的Applications,找到Matlab那个图标,右键有显示包的内容,这样就打开了matlab文件夹,然后再进入/bin/maci64/mexopts/就看到了这两个文件,双击或者用熟悉的编辑器打开,系统提示需要权限修改的时候点同意。 找到下边的代码块,其中高亮的是需要添加的内容 <ISYSROOT> <and> <cmdReturns name=”xcode-select -print-path”/> <or> <dirExists name=”$$/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk” /> <dirExists name=”$$/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk” /> <dirExists name=”$$/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk” /> <dirExists name=”$$/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk” /> <dirExists name=”$$/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk” /> <cmdReturns name=”find $$ -name MacOSX10.7.sdk” /> <cmdReturns name=”find $$ -name MacOSX10.8.sdk” /> <cmdReturns name=”find $$ -name MacOSX10.9.sdk” […]
Matlab2014添加对新版Xcode的mex编译支持(macOS High Sierra, Xcode 8.3) Read More »