近些年來vs更新步伐加快,深刻的感受到了技術成長學習的重要性。
另一方面,版本的更換,也帶來了許多的問題。今天用2019打開以前2010的工程時就碰到了一個:
檢測到“_MSC_VER”的不匹配項: 值“1600”不匹配值“1900”(Clock.obj 中)
照例拜訪度娘,原因是:
visual studio 2010(1600)生成的東西和visual studio 2015(1900)生成的東西“不匹配”。 多是pdb文件、庫文件、包含文件等。
得到如下幾種解決方案:
1.清理解決方案
重新生成
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版引用也要對應