[Troubleshooting] MATLAB mex file running error "The specified module could not be found."

MATLABMATrix LABoratory的縮寫,是一款由美國The MathWorks公司出品的商業數學軟件。MATLAB是一種用於算法開發、數據可視化數據分析以及數值計算的高級技術計算語言和交互式環境。除了矩陣運算、繪製函數/數據圖像等常用功能外,MATLAB還可以用來創建用戶界面及與調用其它語言(包括CC++FORTRAN)編寫的程序。(from wiki.)

MATLAB不只矩陣運算處理快速、方便,也有許多toolbox可以使用,但伴隨而來就是肥大的開發環境,與執行效率的問題。因MATLAB本身是由c語言架構而成,故可將需要較佳處理效能的函式以c語言撰寫,並透過g++編成MEX-file供MATLAB使用。

??? Invalid MEX-file

'D:\machineLearning\private\distSqrPairwiseMex.mexw64':

The specified module could not be found.


很多時候這些MEX-file不只是自己使用,也會publish給其他人使用,但每台電腦的環境都不同,有些人就會出現上述的錯誤訊息"The specified module could not be found."。

這是因為MEX-file是g++ 編譯出來的,若運行機器上沒安裝visual studio、c++ runtime或相關的開發工具就會導致運作失敗。

故只要去下載所需的runtime即可,Visual C++ 2010 Runtime Redistributable Package (x86, x64, ia64) Free Download