TroubleShooting Matlab Mex Setup Solution 在MATLAB上用mex編譯C/C++檔案是稀鬆平常,但卻又常困擾著開發者。不外乎就是找不到gcc或是找不到Standard Library中的header file,像是stdlib.h, stddef.h等等。諸如以下發生的錯誤訊息: /Applications/MATLAB_R2011b.app/bin/mex: line 305: gcc-4.2: command not found /Applications/MATLAB_R2012a.app/extern/include/matrix.h:852:20: error: stdlib.h: No such file or directory 筆者的開發環境:
Matlab Setting mex option of MATLAB on MAC to xcode compiler for solving many mex errors mac的matlab時常在編譯mexfile發生錯誤,不外乎幾個問題:找不到gcc、找不到header files等等,一個最簡單的方式即是將matlab的mex compiler設定成xcode的compiler。筆者環境為:MATLAB R2011b、OSX 10.7.4。 設定 ``` vi ~/.matlab/R2011b/mexopts.sh 在約167行處或使用'/SDKROOT'搜尋,將SDKROOT的值改成" SDKROOT='/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/' ",存檔後即可。 註:若環境不同需確認指令的matlab版號與SDKROOT路徑。