2014-02-26 6 views
7

Während Verknüpfung erhalte ich diese Meldung:VC2013 falsch MSPDB120.DLL

LINK : fatal error LNK1101: incorrect MSPDB120.DLL version; recheck installation of this product

Ich habe Lösungen für Ähnliche Fehler auf frühere Versionen von VC2013 gesehen, aber diejenigen, die nicht für mich arbeiten. Diejenigen sind:

  1. C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat laufen
  2. Hinzufügen% VS120COMNTOOLS% Umgebungsvariable auf die Umgebungsvariable PATH
  3. Neu installieren oder reparieren die Installation von MSVC2013 (nicht empfohlen)

Das erste Mal bekam ich Dieser Fehler ging ich mit einer vollständigen Neuinstallation von VC2013 voran. Ich entschied mich dafür, diesen Router zu nehmen, weil ich dachte, dass ich vielleicht die Installation vermasselt hatte, indem ich nach der Installation von VC2013 ältere Versionen von VC installiert habe. Obwohl die Neuinstallation das erste Mal funktioniert hat, kann ich dies nicht empfehlen. Der MS Installer scheint ziemlich kaputt zu sein und hat mich bei wiederholten Versuchen aufgehängt, was zu dem Verlust von 5+ Stunden meines Lebens führte.

Was sind andere Lösungen für dieses Problem, wenn die ersten beiden Optionen nicht funktionieren?

Antwort

18

Öffnen Sie den Task-Manager.

Suchen Sie nach den derzeit ausgeführten Prozessen mspdbsrv.exe und beenden Sie es, wenn es ausgeführt wird, und versuchen Sie es erneut. Ich weiß nicht, warum das funktioniert, aber ich muss es immer wieder tun. Der Prozess kommt jedes Mal zurück, wenn Sie kompilieren, und es scheint zufällig zu sein, ob es bei diesem Schritt hängen bleibt oder nicht.

Alternativ, wenn Sie keine Debug-Informationen erzeugt, dann können Sie diesen Prozess ganz überspringen, indem Sie:

  • Projekteigenschaften -> Linker -> Debugging -> Debuginfo generieren -> No
+1

Ihr Gerät klingt ziemlich durcheinander. Diese Antwort erklärt nichts. –

+3

Killing externe MSVC-Prozesse löst das Problem, was nicht erklärt wird? Natürlich kann ich nicht erklären, warum es überhaupt passiert ist - ich habe keine MSVC entwickelt. – PolyMesh

+2

+1 löste es für mich. Allerdings habe ich einen Build vorher abgebrochen, der stecken geblieben ist, ich denke, das ist die Ursache – paulm

1

Ich hatte gerade das passieren. In meinem Fall hatte ich eine statisch verknüpfte freigegebene "Helfer" -Bibliothek, die mit den CRT-Flags "-D_CRT_SECURE_NO_DEPRECATE -DCRT_NONSTDC_NO_DEPRECATE" kompiliert wurde, während meine Ziel-App, die in dieser Hilfs-lib verlinkt war, diese nicht hatte. Sobald ich diese Flags den cl.exe Flags der App hinzugefügt habe, war alles gut.

0

Ich bekomme diese Fehlermeldung, wenn eine andere Kompilierung (Jenkins) noch im Hintergrund läuft. Wartet darauf, dass es beendet wird, und versucht erneut, den Fehler zu beheben.