error LNK2038: 檢測到“_MSC_VER”的不匹配項問題

rainbow70626發表於2024-06-16

_MSC_VER這個相當於做了宏的檢測 _MSC_VER 定義編譯器的版本。

一些編譯器版本的_MSC_VER值:
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
MS VC++ 7.1 _MSC_VER = 1310
MS VC++ 7.0 _MSC_VER = 1300
MS VC++ 6.0 _MSC_VER = 1200
MS VC++ 5.0 _MSC_VER = 1100


error LNK2038: 檢測到“_MSC_VER”的不匹配項: 值“1800”不匹配值“1700”(main.obj 中)
原因:由於你使用了vs2012,工作集選擇了更高的1800也就是vs2013的,致使msvc不相容!
方法:在專案(解決方案資源管理器或者屬性管理器裡都行)右鍵屬性-配置屬性-常規中,平臺工具集選用為合適平臺即可,比如上面的就是要選擇成2012的 v11版本,注意光選了還沒有用
注意一個工程裡面會有幾個解決方案的時候,有解決方案需要改而有的不要自己可以檢視
還需要重新編譯,重新編譯在生成選單重新生成裡面。


————————————————

版權宣告:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連結和本宣告。
原文連結:https://blog.csdn.net/shenmifangke/article/details/50395116

相關文章