2009-07-07 10 views
9

Iam ha ricevuto il seguente errore, qualcuno potrebbe aiutarmi a risolverlo.Errore del compilatore interno VC++

Errore irreversibile C1001: ERRORE INTERNO del COMPILATORE (file del compilatore 'f: \ vs70builds \ 3077 vc \ Compiler \ \ CxxFE \ sl \ P1 \ C \ pdbmgr.cpp', linea 149) Selezionare il tecnica di comando Support in C++ menu di Guida di Visual, o aprire il file di aiuto supporto tecnico per ulteriori informazioni

+2

Perché questo downvoted/vota per chiudere? Sembra una domanda giusta per me, anche se non c'è una buona risposta – jalf

+1

Yeap, una domanda molto reale soprattutto se sei stato in questa situazione diverse volte. – sharptooth

+1

@Neil: non così pigro. È tipico violare la grammatica della lingua e ottenere i messaggi di errore di spawn del compilatore. Non è così tipico vedere un messaggio che dice che il compilatore rifiuta di compilare codice perfettamente corretto. – sharptooth

risposta

1

Questa è una cosa molto spiacevole. Tali indicazioni appaiono di tanto in tanto senza una ragione apparente. Anche MSDN consiglia di andare al codice e giocare con i prgmi di ottimizzazione lì. Devi scoprire quale costrutto provoca questa indicazione e riscriverlo in qualche modo. Oppure puoi usare una versione più recente di VC++.

3

No, sei fregato. Hai fatto qualcosa che ha rivelato un errore nel compilatore. Gioca con le impostazioni di ottimizzazione, #pragmas e giocherella con il tuo codice fino a quando non funziona.

E forse presentare un bug report su connect.microsoft.com

1

errore interno del compilatore (file del compilatore, il numero di riga) Il compilatore non può generare codice corretto per un costrutto, probabilmente a causa della combinazione di un'espressione e un'opzione di ottimizzazione. Prova a rimuovere una o più opzioni di ottimizzazione e ricompilare la funzione contenente la riga indicata nel messaggio di errore. Probabilmente è possibile risolvere il problema rimuovendo una o più opzioni di ottimizzazione. Per determinare quale opzione è in errore, rimuovere le opzioni una alla volta e ricompilare finché il messaggio di errore non scompare. Le opzioni più comunemente responsabili sono/Og,/Oi e/Oa. Dopo aver determinato quale opzione è responsabile, è possibile disabilitarla utilizzando il pragma di ottimizzazione attorno alla funzione in cui si verifica l'errore e continuare a utilizzare l'opzione per il resto del modulo. La Microsoft Knowledge Base ha ulteriori informazioni su C1001; vedi http://support.microsoft.com/default.aspx?scid=kb;en-us;134650.

Problemi correlati