“_MSC_VER”的不匹配项
近些年来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版引用也要对应
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构