Ich habe meine Projekte von VS2010 auf VS2012 konvertiert. In bestimmten Projekten wird jedoch ein _MSC_VER-Linkerfehler angezeigt. Nach langem Surfen durch Google stellte ich fest, dass das Problem auf die Verknüpfung einer in VS2010 erstellten Bibliothek mit VS2012 zurückzuführen ist.
Wie kann ich herausfinden, welches Projekt den Fehler verursacht? Hier zitiere ich den Fehler:
Error 6 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile2.obj) Projectname2
Error 15 error LNK2001: unresolved external symbol "private: static void __cdecl std::locale::facet::_Facet_Register(class std::locale::facet *)" (?_Facet_Register@facet@locale@std@@CAXPAV123@@Z) D:\ProjectLocation\Projectname1.lib(CppFile3.obj) Projectname2
Error 13 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile4.obj) Projectname2
Error 12 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile5.obj) Projectname2
Error 10 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile6.obj) Projectname2
Error 11 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile7.obj) Projectname2
Error 9 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile8.obj) Projectname2
Error 4 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile9.obj) Projectname2
Error 14 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile10.obj) Projectname2
Error 7 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile11.obj) Projectname2
Error 8 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile12.obj) Projectname2
Error 5 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile13.obj) Projectname2
quelle
Stellen Sie für jedes Projekt in Ihrer Lösung sicher, dass
Eigenschaften> Konfig. Eigenschaften> Allgemein> Plattform-Toolset
ist eine für alle, v100 für Visual Studio 2010, v110 für Visual Studio 2012
Möglicherweise arbeiten Sie auch an v100 aus Visual Studio 2012
quelle
Ich habe auch einige Projekte von VS2010 nach VS 2012 importiert. Ich hatte die gleichen Fehler. Die Fehler verschwanden, als ich Eigenschaften> Konfiguration zurücksetzte. Eigenschaften> Allgemein> Platform Toolset auf v100 (VS2010). Dies ist jedoch möglicherweise nicht der richtige Ansatz.
quelle
Ich habe ein Upgrade von 2010 auf 2013 durchgeführt. Nachdem ich das Platform Toolset aller Projekte geändert habe, muss ich mit der rechten Maustaste auf die Lösung klicken und Retarget ... auswählen, damit sie funktioniert.
quelle