[Troubleshooting] MATLAB mex file running error "The specified module could not be found."
MATLAB是MATrix LABoratory的縮寫,是一款由美國The MathWorks公司出品的商業數學軟件。MATLAB是一種用於算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境。除了矩陣運算、繪製函數/數據圖像等常用功能外,MATLAB還可以用來創建用戶界面及與調用其它語言(包括C,C++和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