###概要 XCodeのバージョンを7にアップデートした際にMexがコンパイルエラーを吐くようになった。 こちらに解決法が載っていたので、そのまま紹介。

###自分の環境

  • OSX Yosemite (10.10.5)
  • Matlab R2014b

###解決法 Matlabのコンソールで

edit ([matlabroot '/bin/maci64/mexopts/clang_maci64.xml'])

とタイプ。出力されたファイルの後半

<dirExists name="$$/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk" />

の次の行に

<dirExists name="$$/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk" />
<dirExists name="$$/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk" />

を追加、また

<cmdReturns name="find $$ -name MacOSX10.9.sdk" />

の次の行に

<cmdReturns name="find $$ -name MacOSX10.10.sdk" />
<cmdReturns name="find $$ -name MacOSX10.11.sdk" />

を追加 (それぞれ2箇所ある)。

これでMexでのコンパイルが復活する。 ただしこの方法は非公式なので、一応バックアップをとっておくのが吉。 自分はC++ (clang++_maci64.xml) 、gfortran (gfortran.xml) についても同様の変更を行った。