近些年來vs更新步伐加快,深入的感覺到了技術成長學習的重要性。 安全
另外一方面,版本的更換,也帶來了許多的問題。今天用2019打開之前2010的工程時就碰到了一個:函數
檢測到「_MSC_VER」的不匹配項: 值「1600」不匹配值「1900」(Clock.obj 中) 工具
照例拜訪度娘,緣由是:學習
visual studio 2010(1600)生成的東西和visual studio 2015(1900)生成的東西「不匹配」。 可能是pdb文件、庫文件、包含文件等。debug
獲得以下幾種解決方案:編譯器
1.清理解決方案io
從新生成編譯
2.更改平臺工具集效率
項目->右鍵屬性->配置屬性->常規->平臺工具集。改爲合適的工具集。配置
MS VC++ 14.0 _MSC_VER = 1900 vs2015
MS VC++ 12.0 _MSC_VER = 1800 vs2013的編譯器他的平臺是v120
MS VC++ 11.0 _MSC_VER = 1700 vs2012的編譯器他的平臺是v110
MS VC++ 10.0 _MSC_VER = 1600 Visual C++ 2010
MS VC++ 9.0 _MSC_VER = 1500 Visual C++ 2008
MS VC++ 8.0 _MSC_VER = 1400 Visual C++ 2005
3.更換附加庫
若是原來附加了visual studio 2010編譯的庫文件(.lib),你如今想用visual studio 2019的平臺工具集,就須要把這個庫文件變成VS2019的。
另外,與版本有關的問題還有
1.引用庫文件
因爲版本迭代,WTL等也須要更新到對應的版本,由於底層函數可能作了安全性、效率、策略上的調整。
2.lib庫debug與release版引用也要對應