1. 程式人生 > >MATLAB和C++編譯器混合編譯:Xcode 8的不相容錯誤

MATLAB和C++編譯器混合編譯:Xcode 8的不相容錯誤

最近在看tracking方面的論文和程式碼,發現大多數都是用matlab和c++混合編譯的。對於linux和windows這兩個系統,暫時還沒有碰到編譯器不相容的問題,但是mac上面卻有問題,在命令列裡輸入:

mex -setup

會有下面的錯誤提示:

Error using mex 
No supported compiler or SDK was found. For options, visit  http://www.mathworks.com/support/compilers/R2015b/maci64.html.

這是因為我用的是Xcode8,mac 系統版本是12.11,雖然matlabR2015b支援Xcode8,但是卻找不到Xcode8,所以需要改下查詢位置,開啟應用程式下面的資料夾:/Applications/MATLAB_R2015b.app/bin/maci64/mexopts


找到clang++_maci64.xmlclang_maci64.xml 這兩個檔案。
開啟檔案,拉到最後,增加下面綠色線對應的幾行程式碼:
這裡寫圖片描述
記住兩個檔案都要修改,這樣才能保證不論是c編譯器還是c++編譯器都可以找得到!
開啟matlab,在命令列裡輸入:

mex -setup C
mex -setup C++ 

就會看到表示成功的提示了。