/ / MATLAB compiler processa mcc.enc de caixas de ferramentas não relacionadas - matlab, matlab-deployment, matlab-compiler, mcc

O compilador MATLAB processa mcc.enc de caixas de ferramentas não relacionadas - matlab, matlab-deployment, compilador-matlab, mcc

Eu estou usando o mcc para compilar meu projeto MATLAB. A máquina que eu estou usando tem muitas caixas de ferramentas MATLAB instaladas nela, mas meu código requer apenas alguns (como distcomp e imagens) .No entanto, sempre que executo o mcc, ele acaba "processando" os arquivos mcc.enc para muitas caixas de ferramentas. , incluindo aqueles que meu código não precisa.

Aqui está o início da saída do mcc (estou executando-o com -R "-nodisplay" para ser compatível com o cluster que eu estou usando).

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

Eu notei que faz a mesma coisa quando correndomcc na minha área de trabalho também. Alguns desses arquivos mcc.enc (especialmente ... / signal / mcc.enc e ... / nnet / mcc.enc), levam mais tempo para processar do que o resto do mcc para executar. Existe alguma maneira de excluir o processamento de arquivos mcc.enc desnecessários?

Respostas:

4 para resposta № 1

Usando a "ferramenta de deificação" no IDE do MATLAB, acesse as configurações do projeto e, na guia "caixas de ferramentas no caminho", desmarque todas as caixas de ferramentas desnecessárias.

captura de tela

Além disso, existe um mcc argumento -N isso limpa todas as pastas do caminho e mantém apenas as principais do MATLAB.

-N caminho claro

A passagem de -N efetivamente limpa o caminho de todas as pastas, exceto a seguintes pastas principais (esta lista está sujeita a alterações ao longo do tempo):

  • matlabroot / toolbox / matlab
  • matlabroot / caixa de ferramentas / local
  • matlabroot / toolbox / compilador / deploy

Também mantém todas as subpastas da lista acimaque aparecem no Caminho MATLAB em tempo de compilação. Incluindo -N na linha de comando permite você para substituir as pastas do caminho original, enquanto retém o ordem relativa das pastas incluídas. Todas as subpastas do As pastas incluídas que aparecem no caminho original também estão incluídas. Além disso, a opção -N mantém todas as pastas que o usuário tem incluído no caminho que não está sob matlabroot / toolbox.


0 para resposta № 2

Eu recomendaria usar a função «fdep» do Exchange de arquivos do Matlab Central:

http://www.mathworks.com/matlabcentral/fileexchange/17291-fdep--a-pedestrian-function-dependencies-finder

Esta função, aplicada à função principal deseu programa lhe dirá as caixas de ferramentas que você está usando e todas as funções que estão sendo usadas (recursivamente, então todas as funções elementais são listadas e você não deve perder nenhuma função). É realmente útil reduzir o tamanho e o tempo de compilação do seu exe final.