c++ - 更改工具集和 VS 版本不会更改我的对象的 MSC_VER

标签 c++ visual-studio visual-studio-2012 visual-studio-2013 compiler-errors

我在将项目从 VS2010 迁移到 VS2012 后尝试编译该项目,但收到以下构建错误:

  1. msvcprt.lib(newaop_s.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1600' in jwh_arx_circle.obj

  2. rxapi.lib(libinit.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1600' in jwh_arx_circle.obj

jwh_... 文件是我的对象,我在 VS2012 中将工具集设置为 v110,我的对象仍然显示使用 MSC_VER 1600 而不是 1700 .如果我切换到 VS2013 并使用 v120 takeit,Microsoft 对象的 MSC_VER 将更改为 1800 但我的对象仍然是 1600

我已经清理并重建并确保文件被删除并重新创建。

我的机器上安装了 VS 2008、2012、2013 和 2015。我安装了 2008,然后是 2013、2015,最后是 2012。我担心这可能与它有关,我的老板指示我们所有人按顺序安装 VS,但我只需要为最近的工作安装 2012,否则我不会'不要在这里使用它。

最佳答案

我想通了,我手动包含了旧版本的 VS 目录。一旦我删除了这些,MSC_VER 就会排成一行。

关于c++ - 更改工具集和 VS 版本不会更改我的对象的 MSC_VER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38793299/

相关文章:

c++ - 提高或降低派生类中的访问修饰符如何破坏 C++ 封装?

c++ - 使用自动引用类在 C++ 中创建堆栈时出现问题

c++ - Qt中的内存管理?

c++ - C++ 中枚举的获取和设置

c# - 自动缩进关闭

html - CSS中的 `lightgrey`和 `lightgray`有什么区别?

c# - 为什么我的项目在没有更改的情况下构建?

visual-studio - 你如何在 VS : "The type of schema applied to the document is not supported" 中抑制这个警告

ios_base 类的 C++ 未声明标识符

tfs - 将 TFS 2010 项目(历史、工作项、代码等)移动到 TFS 2012