Partager via


Erreur irrécupérable C1001

INTERNAL COMPILER ERROR(compiler file, line number)

Le compilateur ne peut pas générer de code correct pour une construction, souvent en raison de la combinaison d’une expression particulière et d’une option d’optimisation, ou d’un problème dans l’analyse. Si le fichier du compilateur répertorié a un segment de chemin utc ou C2, il s’agit probablement d’une erreur d’optimisation. Si le fichier a un segment de chemin d’accès cxxfe ou c1xx, ou s’il s’agit de msc1.cpp, il s’agit probablement d’une erreur d’analyseur. Si le fichier nommé est cl.exe, aucune autre information n’est disponible.

Vous pouvez souvent résoudre un problème d’optimisation en supprimant une ou plusieurs options d’optimisation. Pour déterminer quelle option est en panne, supprimez les options une par une fois et recompilez jusqu’à ce que le message d’erreur disparaisse. Les options les plus couramment responsables sont /Og (optimisations globales) et /Oi (Générer des fonctions intrinsèques). Une fois que vous avez déterminé l’option d’optimisation responsable, vous pouvez la désactiver autour de la fonction où l’erreur se produit à l’aide du pragma d’optimisation et continuer à utiliser l’option pour le reste du module. Pour plus d’informations sur les options d’optimisation, consultez les meilleures pratiques d’optimisation.

Si les optimisations ne sont pas responsables de l’erreur, essayez de réécrire la ligne où l’erreur est signalée, ou plusieurs lignes de code entourant cette ligne. Pour voir le code de la façon dont le compilateur le voit après le prétraitement, vous pouvez utiliser l’option /P (Prétraitement sur un fichier).

Pour plus d’informations sur la façon d’isoler la source de l’erreur et comment signaler une erreur de compilateur interne à Microsoft, consultez Comment signaler un problème avec l’ensemble d’outils Visual C++.