Compartilhar via


Erro da linha de comando D8049

não é possível executar 'compiler-component': a linha de comando é muito longa para caber no registro de depuração

Um limite de comprimento interno nos caminhos de inclusão do registro de depuração foi ultrapassado.

Comentários

Quando o compilador cria registros de depuração em um arquivo de objeto, ele usa o caminho completo para cada arquivo incluído. Caminhos absolutos são registrados conforme especificado. No caso de caminhos relativos de inclusão, o registro de depuração anexa o diretório de trabalho atual do build ao caminho relativo. Se o build for executado em um caminho relativamente profundo, os registros de caminho correspondentes ficarão mais longos. O comprimento total de muitos caminhos longos pode exceder os limites internos do compilador.

Para resolver esse problema

  • Use caminhos mais curtos para seus diretórios de inclusão e build. Instale cabeçalhos de inclusão de biblioteca em diretórios com caminhos mais curtos, e use caminhos curtos para os diretórios intermediários e de build de destino de seus projetos. Se você criar aliases de caminhos, use aliases curtos. Defina %TMP% e %TEMP% para diretórios que têm caminhos mais curtos.

  • Otimize seus arquivos de inclusão para o conjunto mínimo necessário para qualquer arquivo de origem. Esse método também tem a vantagem de acelerar os tempos de compilação. Se você usar cabeçalhos pré-compilados, é importante otimizar o conjunto de cabeçalhos que você inclui no arquivo de cabeçalho pré-compilado. Em soluções complexas, pode valer a pena criar diferentes cabeçalhos pré-compilados otimizados para diferentes partes do projeto. Se o código usar C++20, recomendamos que você use módulos ou módulos de cabeçalho de preferência a cabeçalhos pré-compilados.