2009-07-07 31 views
9

Iam recibiendo el siguiente error, podría alguien ayudarme a solucionarlo.VC++ Error interno del compilador

grave error C1001: ERROR interno del compilador (archivo del compilador 'f: \ vs70builds \ 3077 \ vc \ Compiler \ CxxFE \ sl \ P1 \ C \ pdbmgr.cpp', línea 149) Por favor, elija la técnica de comandos Support en C++ Visual menú Ayuda, o abrir el archivo de ayuda soporte técnico para obtener más información

+2

¿Por qué se realiza esta votación/se cerrará? Me parece una buena pregunta, aunque no hay una buena respuesta – jalf

+1

Yeap, una pregunta muy real, especialmente si ha estado en esta situación varias veces. – sharptooth

+1

@Neil: No es tan vago. Es típico violar la gramática del lenguaje y hacer que el compilador genere mensajes de error. No es típico ver un mensaje que dice que el compilador de hecho se niega a compilar el código perfectamente correcto. – sharptooth

Respuesta

1

Eso es una cosa muy desafortunada. Tales indicaciones aparecen de vez en cuando sin ninguna razón aparente. Incluso MSDN recomienda ir al código y jugar con los pragmas de optimización allí. Tienes que detectar qué construcción causa esta indicación y volver a escribirla de alguna manera. O puede usar una versión más nueva de VC++.

3

No, estás jodido. Has hecho algo que expuso un error en el compilador. Juega con las configuraciones de optimización, #pragmas y juega con tu código hasta que funcione.

Y quizás enviar un informe de error en connect.microsoft.com

1

ERROR interno del compilador (archivo archivo del compilador y de línea) El compilador no puede generar código correcto para una construcción, probablemente debido a la combinación de una expresión y una opción de optimización. Intente eliminar una o más opciones de optimización y vuelva a compilar la función que contiene la línea indicada en el mensaje de error. Probablemente pueda solucionar el problema eliminando una o más opciones de optimización. Para determinar qué opción tiene la culpa, elimine las opciones de una en una y vuelva a compilar hasta que desaparezca el mensaje de error. Las opciones más comúnmente responsables son/Og,/Oi y/Oa. Una vez que determine qué opción es responsable, puede desactivarla utilizando el pragma optimizado alrededor de la función donde ocurre el error y continuar utilizando la opción para el resto del módulo. Microsoft Knowledge Base tiene más información sobre C1001; ver http://support.microsoft.com/default.aspx?scid=kb;en-us;134650.

Cuestiones relacionadas