我正在使用mcc来编译我的MATLAB项目我使用的机器上安装了许多MATLAB工具箱,但我的代码只需要几个(如distcomp和images)但是,每当我运行mcc时,它都会为许多工具箱“处理”mcc.enc文件,包括那些我的代码不需要的工具箱。
这是来自m cc的输出的开始(我用-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文件?
最佳答案
使用MatlabIDE中的“解聚工具”,转到项目设置,从“路径上的工具箱”选项卡中,取消选择所有不需要的工具箱。
此外,还有一个mcc
参数-N
可以清除路径中的所有文件夹,并且只保留核心的MATLAB文件夹。
-N清除路径
Passing-N有效地清除除
以下核心文件夹(此列表可能会随时间变化):
matlabroot/工具箱/matlab
matlabroot/工具箱/本地
matlabroot/toolbox/compiler/deploy文件
它还保留上面列表中出现在
编译时的MATLAB路径在命令行中包含-N允许
您将替换原始路径中的文件夹,同时保留
包含文件夹的相对顺序的所有子文件夹
也包括出现在原始路径上的包含文件夹。
此外,-N选项保留用户拥有的所有文件夹
包含在不在matlabroot/toolbox下的路径中。