MACでのmexの設定の注意点

MACのMATLAB

mex -O hogehoge.cpp

とやると,

error: stdio.h: No such file or directory

が出力され,対処に思いの外,時間がかかったので,メモ.

対処法

/Applications/MATLAB_R2011a_Student.app/bin/gccopts.shの

CC='gcc-4.2'
SDKROOT='/Developer/SDKs/MacOSX10.6.sdk'

を以下のとおりに書きかえる.

CC='gcc'          
SDKROOT='/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk'

使うコンパイラによって変更するファイルが違うみたいなので注意.
GCCを使う場合はgccopts.sh,
system ANSI compilerを使う場合はmexopts.sh.

これは試行錯誤で動くのを確認した程度なので,なぜこれでいいのかは分からない.
どこかにちゃんと仕様が書いてあるのだろう.