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


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

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

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

這時可以直接通過連接下載安裝微軟的SDK7.1。在安裝時可選項中點選visual C++ compiler就可以了。

當然這是順利的情況,我成功過一次。

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

還有一次不存在上述問題,成功安裝了SDK7.1,但是還是不行。那次我用的是matlab 2014a 的破解版。這個就有點不講道理了。后來看到很多人有同樣的問題。這可能是網上廣為流傳的那個2014a的破解版本身的問題。所以遇到這種情況的朋友可以換一個版本的matlab試一下。

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

大概步驟是:

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

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM