Condividi tramite


Errore della riga di comando D8049

impossibile eseguire 'compiler-component': la riga di comando è troppo lunga per adattarsi al record di debug

È stato superato un limite di lunghezza interno per i percorsi di inclusione dei record di debug.

Osservazioni:

Quando il compilatore crea record di debug in un file oggetto, usa il percorso completo per ogni file incluso. I percorsi assoluti vengono registrati come specificato. Per i percorsi di inclusione relativi, il record di debug antepone la directory di lavoro corrente della compilazione al percorso relativo. Se la compilazione viene eseguita in un percorso relativamente profondo, i record di percorso corrispondenti vengono più lunghi. La lunghezza totale di troppi percorsi lunghi può superare i limiti interni del compilatore.

Per risolvere il problema

  • Usare percorsi più brevi per le directory di inclusione e compilazione. Installare la libreria include intestazioni nelle directory con percorsi più brevi e usare percorsi brevi per le directory di compilazione intermedie e di destinazione dei progetti. Se si aliasno i percorsi, usare alias brevi. Impostare %TMP% e %TEMP% su directory con percorsi più brevi.

  • Ottimizzare i file di inclusione al set minimo necessario per qualsiasi file di origine specificato. Questo metodo offre anche il vantaggio di velocizzare i tempi di compilazione. Se si usano intestazioni precompilate, è importante ottimizzare il set di intestazioni incluse nel file di intestazione precompilato. In soluzioni complesse può essere utile creare intestazioni precompilate diverse ottimizzate per diverse parti del progetto. Se il codice usa C++20, è consigliabile usare moduli o moduli di intestazione in preferenza per le intestazioni precompilate.