天天看點

MATLAB之Matlab MEX找不到編譯器的問題

本文在安裝MATLAB 2015b及Matlab 2016b時,在mex -setup時找不到本人機器上已經安裝的VS2013,而且多次解除安裝重裝解除安裝重裝都無濟于事,最後得益于這篇文章提供的線索,才終得解決,機是Microsoft Windows SDK 7.1安裝的問題,要麼這個SDK沒安裝,要麼這個SDK安裝的不全,WIN7系統在其後有更新,windows update更新代碼為KB2519277,這些都不是重點,隻是為了闡明Matlab無法找到編譯器是由于系統的問題,缺少必要的更新。

方法1:本人在Microsoft官網,搜尋下載下傳Microsoft Windows SDK 7.1,下載下傳後出現安裝失敗,說是找不到winsdk_dvdx64.msi(本人作業系統是WIN7 64位),查了一些資料,說是需要先解除安裝Microsoft Visual C++ 2010 x64/x86 Redistribute再安裝,試了一下還是不行,還是Microsoft Windows SDK 7.1安裝失敗,最後放棄這種方法。

方法2:本人在Microsoft官網的下載下傳中心,找到開發人員工具,找到“ Windows SDK 7.1 的 Microsoft Visual C++ 2010 Service Pack 1”下載下傳安裝即可,如下圖所示:

MATLAB之Matlab MEX找不到編譯器的問題
MATLAB之Matlab MEX找不到編譯器的問題

安裝完成後,mex -setup如下:

MATLAB之Matlab MEX找不到編譯器的問題

有一點讓人疑惑的是,當選擇“mex -setup:E:\CommonSoftware\Matlab2015b\bin\win64\mexopts\winsdk-7.1_c.xml C”編譯MatconNet庫時,出錯了,當選擇“ mex -setup:C:\Users\Leo\AppData\Roaming\MathWorks\MATLAB\R2015b\mex_C_win64.xml C”時正常編譯通過,而我的機器上隻安裝了VS2013旗艦版而不是專業版。

總結:在檢視Windows Update更新時,發現有Windows SDK 7.1 的 Microsoft Visual C++ 2010 Service Pack 1的更新,當時沒有安裝更新,可見,出現matlab mex -setup找不到編譯器的問題,多半是windows系統的問題,注意檢查一下系統更新。

繼續閱讀