我將項目從VS2010轉換為VS2012,但是在某些項目中出現(xiàn)_MSC_VER鏈接器錯誤。經過長時間的谷歌瀏覽后,我發(fā)現(xiàn)問題是由于在VS2010中創(chuàng)建的庫與VS2012的鏈接所致。我如何找出哪個項目導致了錯誤?在這里,我引用錯誤: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) Projectname2Error 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) Projectname2Error 13 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile4.obj) Projectname2Error 12 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile5.obj) Projectname2Error 10 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile6.obj) Projectname2Error 11 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile7.obj) Projectname2Error 9 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile8.obj) Projectname2Error 4 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj D:\ProjectLocation\Projectname1.lib(CppFile9.obj) Projectname2Error 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
3 回答

慕標5832272
TA貢獻1966條經驗 獲得超4個贊
您正在嘗試鏈接由不同版本的編譯器編譯的對象。VS的現(xiàn)代版本不支持該功能,至少在使用C ++標準庫的情況下不支持。標準庫的不同版本是二進制不兼容的,因此您需要使用相同版本來編譯鏈接器的所有輸入。確保重新編譯所有要鏈接的對象。
編譯器錯誤為涉及的對象命名,因此問題已找到所需信息的信息。具體來說,似乎您要鏈接的靜態(tài)庫需要重新編譯。
因此,解決方案是使用VS2012重新編譯Projectname1.lib。

慕桂英4014372
TA貢獻1871條經驗 獲得超13個贊
對于解決方案中的每個項目,請確保
屬性>配置。屬性>常規(guī)>平臺工具集
適用于所有人,v100適用于Visual Studio 2010,v110適用于Visual Studio 2012
您還可能正在使用Visual Studio 2012中的v100
- 3 回答
- 0 關注
- 1261 瀏覽
添加回答
舉報
0/150
提交
取消