2015-04-06 438 views
0

我試圖運行可變形零件模型MATLAB代碼提供here,我在運行demo.m文件時不斷收到此錯誤。它掛斷,具體線路爲:MATLAB幫助:「未知的Mex參數'-o'」

eval([mexcmd ' gdetect/fconvsse.cc -o fconv']); 

eval([mexcmd ' gdetect/fconv_var_dim_MT.cc -o fconv_var_dim']); 

這是檢測一個非常受歡迎的工具(引成千上萬的後續篇倍),因此它肯定不是代碼本身。我在CentOS 6.5上運行MATLAB R2014a。該文檔確實說:

該軟件已在多個版本的Linux和Mac OS X上使用MATLAB版本R2011a進行了測試。 MATLAB的早期版本也應該工作,雖然有可能是版本的兼容性問題之前,2009年」

一般R2014a雖然從運行舊版本的東西。有誰知道我能做些什麼來解決這個問題?或者至少'-o'命令甚至指的是什麼?我檢查了正在編譯的源代碼,但找不到解析器或任何東西。

回答

3

這可能是因爲沒有-o這樣的標誌,但是有一個CAPITAL O標誌,因此-O。代表優化代碼,以便您得到最好的運行代碼給予你已經編碼。但是,這已默認啓用,但有一個-output標誌。根據mex被調用的方式判斷,他可能更符合你需要的內容。 -output允許您重寫輸出MEX文件的命名方式,而不是假定正在編譯的MEX實現文件的名稱....所以在您的情況下,這將是fconvssefconv_var_dim_MT

作爲另一個建議,我還建議您啓用詳細模式,以便在編譯代碼時可以看到引擎蓋下發生的所有事情。這是由-v標誌啓用的。

因此,這樣做:

eval([mexcmd ' -v gdetect/fconvsse.cc -output fconv']); 

和:

eval([mexcmd ' -v gdetect/fconv_var_dim_MT.cc -output fconv_var_dim']); 

更多幫助上mex編譯標誌,請參閱幫助頁:http://www.mathworks.com/help/matlab/ref/mex.html

+1

其實適當的修正,以我的問題是,將「-o」更改爲「輸出」,如我的顯然是重複的問題中所指出的那樣。儘管如此,這裏的一切都很有幫助謝謝! – marcman

+0

太棒了!沒問題! – marcman