MATLAB和C++編譯器混合編譯:Xcode 8的不相容錯誤
阿新 • • 發佈:2019-02-12
最近在看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.xml
和 clang_maci64.xml
這兩個檔案。 開啟檔案,拉到最後,增加下面綠色線對應的幾行程式碼:
記住兩個檔案都要修改,這樣才能保證不論是c編譯器還是c++編譯器都可以找得到!
開啟matlab,在命令列裡輸入:
mex -setup C
mex -setup C++
就會看到表示成功的提示了。