我正在使用mcc来编译我的MATLAB项目。我正在使用的机器上安装了许多MATLAB工具箱,但我的代码只需要一些(如distcomp和图像)。但是,无论何时运行mcc,它最终都会“处理”许多工具箱的mcc.enc文件,包括那些我的代码不需要的工具箱。MATLAB编译器从无关工具箱中处理mcc.enc
这里是mcc输出的开始(我使用-R '-nodisplay'
来运行它,以便与我正在使用的集群兼容)。
Warning: No display specified. You will not be able to display graphics on the screen.
Compiler version: 4.15 (R2011a)
Processing /cm/shared/apps/matlab/7.12.0/toolbox/matlab/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/distcomp/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/images/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/stats/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/shared/imageslib/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/shared/system/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/shared/spcuilib/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/control/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/shared/controllib/engine/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/shared/controllib/general/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/signal/mcc.enc
Processing /cm/shared/apps/matlab/7.12.0/toolbox/nnet/mcc.enc
我注意到它在我的桌面上运行mcc时也做同样的事情。其中一些mcc.enc文件(特别是.../signal/mcc.enc和.../nnet/mcc.enc)需要更多时间来处理,而不是mcc的其余部分才能执行。有没有办法排除处理不需要的mcc.enc文件?
您的答案的第二部分是我正在寻找的。我无法使用deploytool GUI,但-N选项允许选择性包含mcc.enc文件。 – knowah 2012-07-23 17:17:21
在更高版本中,工具箱选项似乎已消失:S – ntg 2014-02-19 16:49:39
@ntg:R2013b中的GUI部件已更改,但''deploytool'项目的设置对话框中仍有一个字段用于'“传递给MCC的其他参数” ';这是您可以使用上述标志'-N -p some_dir'来清除MCC路径并明确指定要考虑的工具箱的位置。 – Amro 2014-02-20 10:00:59