2012-07-27 139 views
0

因此,我正在運行我下載的軟件,用於分析熒光蛋白在顯微圖像中的位置。該軟件被稱爲plusTipTracker,它運行MATLAB。因此,第一個函數(檢測圖像中的「斑點」)工作正常,但第二個函數(「軌跡點」)失敗。特別是,它似乎是一個MEX文件中的錯誤:MATLAB無效的MEX文件

??? Invalid MEX-file 
'/Users/ethanbuchman/Documents/MATLAB/plusTipTracker_1pt1pt3_2012-07-07/software/createDistanceMatrix.mexmaci64': 
dlopen(/Users/ethanbuchman/Documents/MATLAB/plusTipTracker_1pt1pt3_2012-07-07/software/createDistanceMatrix.mexmaci64, 
1): no suitable image found. Did find: 
    /Users/ethanbuchman/Documents/MATLAB/plusTipTracker_1pt1pt3_2012-07-07/software/createDistanceMatrix.mexmaci64: 
     unknown required load command 0x80000022. 

我可以找到在軟件的文件夾,我下載該文件。實際上有多個版本,每個版本都有不同的擴展名(例如.mexa64,.mexmaci,.mexmaci64等)。還有一個.dll文件。雖然文件夾中還有其他mex文件,每個都有多個擴展名,但其他文件都沒有關聯的dll文件。不確定這是否相關。

但我不知道該怎麼做。

我在MacOSX 10.5.8上使用Matlab R2010b。

任何有識之士將不勝感激。謝謝。

+0

我假設你使用64位matlab和Mac OSX? – Isaac 2012-07-27 02:00:40

+0

是的,是的,這兩個64位 – Ethan 2012-07-27 02:03:37

回答

0

從我正在閱讀here,它似乎是爲不同版本的Mac OS編譯的MEX文件。你可以在你自己的系統上重新編譯MEX文件和DLL嗎?

+0

聽起來是對的。我該怎麼辦?我沒有原始的源代碼,只有mex文件。 – Ethan 2012-07-27 02:05:57

+0

您可以嘗試將所有.mex * 64文件移出您的路徑,以便matlab將運行32位版本...我正在閱讀的一些內容說明10.6特定功能只能用於64位二進制文件。 – Isaac 2012-07-27 02:11:31

+0

好的。我試圖將文件(.mexmaci64)移出路徑。但現在我只是得到:???未定義的函數或方法'createDistanceMatrix'用於類型'double'的輸入參數。 – Ethan 2012-07-27 02:13:40