2014-06-17 5 views
5

Ich erhalte eine Fehlermeldung von Visual Studio C++ Linker:Visual Studio Linker kann nicht auf [Hexadezimalnummer] schreiben

Fehler LNK1108: Datei kann nicht an schreiben 0xFB296C

Der Hex-Wert ändert sich mit jedem Build. Dieser Fehler tritt auf keinem der Computer meines Kollegen auf, also ist es etwas in meiner Umgebung.

MSDN schlägt vor, dass einer der Gründe für diesen Fehler nicht genügend Speicherplatz ist, aber ich habe 155 GB frei. Soweit ich das beurteilen kann, ist meine Lösung so konfiguriert, dass alle Dateien lokal geschrieben werden.

den Linker Konfiguration zu verwenden/VERBOSE und/LTCG: STATUS, sehe ich, dass der Fehler gegen Ende des Laufs auftritt, wenn es an der Zeit Metadaten zu fusionieren kommt:

9> Beendet die Suche Bibliotheken
9> Metadaten Merging
9> Fertige Metadaten verschmelzenden
9> LINK: fatal error LNK1108: Datei kann nicht auf 0x2E12984

Hat jemand von pro begegnet diese Art schreiben vorher bluten? Wie kann ich es beheben?

ich Visual Studio 2013 Ultimative bin mit, Update 2.

+0

Ist es ein Netzwerklaufwerk? –

+0

Nein, alles lokal. Ich werde meinen Beitrag aktualisieren. Danke, dass du darauf hingewiesen hast. –

+0

Haben Sie versucht, Ihr Virenschutzprogramm zu deaktivieren? – drescherjm

Antwort

2

Die Lösung, die die WINMD Dateien innerhalb der Lösung zu löschen ist. Die Tatsache, dass der Linker die zusammengeführten Metadaten (laut Protokoll) nicht überschreiben konnte, war der Schlüssel. Das hat mich dazu gebracht, über Windows-Metadaten (.winmd) -Dateien zu lesen. Ich habe ILDASM verwendet, um mir die Datei anzusehen, und das Tool hat gemeldet, dass sie beschädigt ist. Nach dem Löschen der generierten Winmd-Dateien kann ich normal kompilieren, verknüpfen und ausführen.

Ich hatte einmal ein ähnliches Problem mit SOU-Dateien. Vielleicht benötigt Visual Studio eine "Super Clean" -Funktion, ähnlich wie "Build> Clean Solution", die alle generierten Dateien löscht.

Verwandte Themen