matlab 解決 錯誤使用 mex 未找到支持的編譯器或 SDK

平時跑論文的裏MATLAB代碼不少都是調用了c的函數,然而然而就是在MATLAB裏編譯C這個小問題卻困擾了我好久。函數

在matlab中編譯C程序爲matlab可識別的mex文件須要使用命令:  mex  filename.c 。在這以前須要時用命令:mex -setup C++ 來更改缺省的compiler爲相應的C編譯器。若是沒有安裝matlab支持的編譯器就會報錯:spa

錯誤使用 mex
未找到支持的編譯器或 SDK。有關選項,請訪問  http://www.mathworks.com/support/compilers/R2014a/win64.net

這時能夠直接經過鏈接下載安裝微軟的SDK7.1。在安裝時可選項中點選visual C++ compiler就能夠了。命令行

固然這是順利的狀況,我成功過一次。get

可是後來換一臺電腦,問題就來了,安裝了SDK7.1仍是報錯,後來發現可選項visual C++ compiler是灰的,不能點選。提示是缺乏.NET Framework 4.0的支持。但是我查看了一下,那臺電腦有安裝最新的.NET Framework,再安裝會提示已安裝最新版本,並且想卸載重裝都不行,用用微軟官方的Windows Install Clean-up都搞不定。後來知道,這是由於當初安裝的時候沒成功,有殘留,這就噁心了。(要解決這個麻煩就是另一個問題了,在這裏就不贅述了)編譯器

還有一次不存在上述問題,成功安裝了SDK7.1,可是仍是不行。那次我用的是matlab 2014a 的破解版。這個就有點不講道理了。後來看到不少人有一樣的問題。這多是網上廣爲流傳的那個2014a的破解版自己的問題。因此遇到這種狀況的朋友能夠換一個版本的matlab試一下。編譯

不過仍是有其它方法解決的。那就換一個編譯器,我選擇的是TDM-GCC,Matlab自己也推薦這個。變量

大概步驟是:gcc

第一步:下載TDM-GCC(注意看清是32位仍是64位),TDM-GCC的安裝路徑不要包括空格; http://tdm-gcc.tdragon.net/download file

第二步:新建環境變量MW_MINGW64_LOC,設置爲TDM-GCC-64的安裝位置;

第三步:在MATLAB命令行內運行命令setenv(‘MW_MINGW64_LOC’,folder),folder爲TDM-GCC的安裝位置,要加單引號; 最後,重啓一下MATLAB;

相關文章
相關標籤/搜索