mex

A collection of 5 posts

TroubleShooting

Matlab Mex Setup Solution

在MATLAB上用mex編譯C/C++檔案是稀鬆平常,但卻又常困擾著開發者。不外乎就是找不到gcc或是找不到Standard Library中的header file,像是stdlib.h, stddef.h等等。諸如以下發生的錯誤訊息: /Applications/MATLAB_R2011b.app/bin/mex: line 305: gcc-4.2: command not found /Applications/MATLAB_R2012a.app/extern/include/matrix.h:852:20: error: stdlib.h: No such file or directory 筆者的開發環境:

  • hothero
    hothero
TroubleShooting

[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給其他人使用,但每台電腦的環境都不同,有些人就會出現上述的錯誤訊息&

  • hothero
    hothero
Matlab

Setting mex option of MATLAB on MAC to xcode compiler for solving many mex errors

mac的matlab時常在編譯mexfile發生錯誤,不外乎幾個問題:找不到gcc、找不到header files等等,一個最簡單的方式即是將matlab的mex compiler設定成xcode的compiler。筆者環境為:MATLAB R2011b、OSX 10.7.4。 設定 ``` vi ~/.matlab/R2011b/mexopts.sh 在約167行處或使用'/SDKROOT'搜尋,將SDKROOT的值改成" SDKROOT='/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/' ",存檔後即可。 註:若環境不同需確認指令的matlab版號與SDKROOT路徑。

  • hothero
    hothero
OpenCV

Build opencv 2.2 using mex with VS2010 on matlab r2011a

網路上這類文章不下少數,而本篇文章將著重在如何將opencv2.2版利用VS2010的編譯器,用mex編成matlab r2011a版可呼叫的file(新版本所修改的地方)。(註:mex為一編譯器,可將c/c++程式編成為matlab執行檔) 編mex不外乎幾個步驟: 安裝Visual Studio 2010, MATLAB r2011a, opencv 2.2 setup matlab中的mex 可參考:http://blog.yam.com/dainn/article/26676311 編輯matlab的mexopts.bat ( C:\Users\hothero\AppData\Roaming\MathWorks\MATLAB\R2011a ) 在"set MATLAB=%MATLAB%

  • hothero
    hothero