webentwicklung-frage-antwort-db.com.de

schwerwiegender Fehler C1001: Im Compiler ist ein interner Fehler aufgetreten

Beim Kompilieren auf x64-Plattform erhalte ich folgenden Fehler:

c:\codavs05\hpsw-sc\ovpacc\tools\codaaccesstest\coda_access.cpp(1572): fatal error C1001: An internal error has occurred in the compiler.

(compiler file 'f:\dd\vctools\compiler\utc\src\p2\sizeopt.c', line 55)
To work around this problem, try simplifying or changing the program near the locations listed above.
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information

------ Build started: Project: asyncexample, Configuration: Release Win32 ------

Wenn ich die Einstellungen in eine Präprozessor-Datei ändere (Ja), erhalte ich keine Fehlermeldung.

Informationen zu meiner Umgebung: Aktualisieren von Microsoft Visual Studio 2005 auf 2010

Bitte helfen.

13
venkat

Dieser Fehler ist in VC++ mehrmals aufgetreten. Führen Sie die folgenden Schritte aus. Sie haben mir immer bei diesem Problem geholfen:

  1. Sehen Sie sich die genaue Position an, die durch einen Compilerfehler hervorgehoben wird. 
  2. Suchen Sie nach dort verwendeten externen Typen oder Klassen. 
  3. Ändern Sie die Reihenfolge des "Include-Pfads" der in Schritt 2 gefundenen Dateien und erstellen Sie die Lösung neu. 
  4. Ich hoffe das hilft !!!!
9
hsalimi

Ich bekomme dieselbe Fehlermeldung mit VC2012. Durch das Konfigurieren der Projekteigenschaften Optimierung auf Deaktiviert (/ Od) wurde das Problem behoben.

7
anil

Ich habe dieses Problem mit VS2015 gehabt, während ich lokal in Windows baute.

Um das Problem zu lösen, habe ich meinen Build-Ordner (Ausgabeverzeichnis wie in Eigenschaften/Allgemein angezeigt) gelöscht und das Projekt neu erstellt.

Dies scheint immer zu helfen, wenn während des Builds merkwürdige Dinge passieren.

5
Autex

In meiner Lösung habe ich die Ausgabe-DLL-Datei des Projekts entfernt und das Projekt neu erstellt.

3

Ich habe diesen Fehler bei der Verwendung der Boost-Bibliothek mit VS2017 erhalten. Durch das Reinigen und Wiederherstellen der Lösung wurde das Problem gelöst.

2
Tides

In meinem Fall war die Verwendung einer statischen Lambda-Funktion mit einem QStringList-Argument. Wenn ich die Regionen kommentierte, in denen QStringList verwendet wurde, wurde die Datei kompiliert. Andernfalls meldete der Compiler den Fehler C1001. Durch das Ändern der Lambda-Funktion in nicht statisch wurde das Problem behoben (offensichtlich könnten andere Optionen die Verwendung einer globalen Funktion in einem anonymen Namespace oder eine statische private Methode der Klasse gewesen sein).

2
cbuchart

Ich bin auf den gleichen Fehler gestoßen und habe ziemlich viel Zeit damit verbracht, nach dem Problem zu suchen. Schließlich entdeckte ich, dass die Funktion, auf die der Fehler zeigte, eine unendliche while-Schleife hatte. Das Problem wurde behoben und der Fehler ging weg.

2
quitePro

Dieses Problem hatte ich auch beim Upgrade von VS2008 auf VS2010.

Zur Behebung muss ein VS2008-Patch (KB976656) installiert werden.

Vielleicht gibt es einen ähnlichen Patch für VS2005?

1
Philippe

Ich habe dieses mit Code während des Refactorings mit mangelnder Sorgfalt erhalten (und mit Vorlagen war es der Fall, der zu einem ICE statt zu einem normalen Fehler bei der Kompilierung führte).

Vereinfachter Code:

void myFunction() {
    using std::is_same_v;
    for (auto i ...) {
       myOtherFunction(..., i);
    }
}

void myOtherFunction(..., size_t idx) {
    // no statement using std::is_same_v;
    if constexpr (is_same_v<T, char>) {
        ...
    }
}
1
chrisb2244

Ich habe den gleichen Fehler erhalten, aber mit einer anderen Datei, auf die in der Fehlermeldung verwiesen wird, auf einem VS 2015/x64/Win7-Build. In meinem Fall war die Datei main.cpp. Es war für mich so einfach, das Problem zu beheben, als einfach alles neu zu erstellen (und etwas anderes zu finden, während die Millionen Pluszeilen Code verarbeitet wurden).

Update : Es stellt sich heraus, dass meine Festplatte fehlerhaft ist. Nachdem andere Symptome mich dazu veranlasst hatten, chkdsk auszuführen, stellte ich fest, dass die meisten der beschädigten Sektoren, die ersetzt wurden, in .obj, .pdb und anderen vom Compiler generierten Dateien waren.

1
hlongmore

Ich hatte diesen Fehler beim Kompilieren zu einem x64-Ziel. Wenn Sie zu x86 wechseln, kann ich das Programm kompilieren.

0

Hilft manchmal, den Code neu zu ordnen. Ich hatte diesen Fehler einmal in Visual Studio 2013 und dies wurde nur durch Umordnen der Mitglieder der Klasse behoben (ich hatte ein Enum-Mitglied, einige Strings-Mitglieder und einige weitere Enum-Mitglieder derselben Enum-Klasse). Dieser Fehler wurde erst kompiliert, nachdem ich ihn abgelegt habe die enum Mitglieder zuerst).

0
Liviu Stancu