Il stimmt nicht überein zwischen 'P1' Version '20080116' und 'P2' Version '20070207'

8

Ich baue MFC-Anwendung, die andere C ++ Bibliothek verwendet. Ich benutze vs 2008 und kompilierte alle Bibliothek Projekt in vs 2008.

Es kompiliert gut im Debug-Modus, konnte aber nicht im Debug-Unicode-Modus, Release, Unicode-Modus ausführen.

Ich habe im Internet gefunden, dass VS 2008SP1 installiert werden muss, aber wie kommt es dazu, dass es im Debug-Modus kompiliert wird.

Bitte schlagen Sie vor, wie Sie dieses Problem lösen können.

    
Chris_vr 22.01.2012, 08:42
quelle

4 Antworten

7

Wenn Sie eine Lösung mit mehreren Projekten kompilieren, sollten Sie alle Projekte mit demselben Compiler (Version) kompilieren, um sicherzustellen, dass es funktioniert.

Ich habe einmal dieselbe Fehlermeldung erhalten wie Sie. Wenn ich mich richtig erinnere, trat das Problem auf, weil link time code generation verwendet wurde. Meine Lösung bestand darin, alle neu zu erstellen, eine andere Lösung könnte die Link-Timecode-Generierung deaktiviert haben.

    
Werner Henze 22.01.2012, 09:37
quelle
4

In der Terminologie von Microsoft ist P1 der Parser (Front-End) und P2 ist der Code-Generator (Back-End). Bei aktivierter Link-Time-Code-Generierung (LTGC) wird das Ergebnis von P1 in einer Datei gespeichert, und P2 wird später zur Verbindungszeit ausgeführt.

Wenn Sie Ihren Compiler downgraded , sollten Sie eine vollständige Neuerstellung durchführen, andernfalls versucht der Verbindungsschritt, die inkompatible P1-Ausgabe zu verwenden, die diesen Fehler auslöst.

Wenn Sie den Compiler upgraden , führt Visual Studio automatisch eine vollständige Neuerstellung durch, daher sollte dies nie passieren (wenn dies trotzdem der Fall ist, führen Sie einfach eine vollständige Neuerstellung durch).

    
rustyx 19.01.2018 10:27
quelle
2

In meinem Fall habe ich Microsoft Visual Studio 2008 Service Pack 1 (Installer) installiert, mit dem das Problem behoben wurde. Service Pack kann von folgendem Link heruntergeladen werden:

Ссылка

SAM

    
SAM 27.07.2016 05:45
quelle
0

Ich hatte dieses Problem nur mit anderen Zahlen und nutze Visual Studio 2015. Das Problem wurde in einer der Bibliotheken, die ich mit meinem Projekt verbunden hatte, mit VS2015 Update 3 erstellt. Die Lösung, die für mich funktionierte - Update Visual Studio auf 2015 Update 3.

    
croaton 06.03.2017 11:34
quelle

Tags und Links