将CLR项目迁移到VS 2015会抛出C2869编译器错误
migrating CLR project to VS 2015 throws C2869 compiler error
我正在将CLR类库从vs2010(v4.0)转换为vs2015。我得到错误:
C:Program Files (x86)Microsoft Visual Studio14.0VCincludesystem_error(24): error C2869: 'std::errc':已被定义为一个命名空间
我也无法在x64中添加引用,而c#汇编已与任何CPU目标构建。
无法添加引用
- 目标是更高版本的。net Framework
- 不是。net程序集
- 未注册ActiveX控件
对我来说,C2869错误是由引用使用旧版本的Visual Studio构建的程序集引起的。我用以下步骤解决了这个问题:
-
在项目中创建一个虚拟的cpp文件,只有以下几行:
include "Stdafx.h"//如果需要
<标题>包括"system_error" 标题> -
编译虚拟文件并确认你看到了C2869错误。
- 删除项目中的所有引用,编译虚拟文件并确认C2869消失。
- 逐个添加引用并编译虚拟文件,直到C2869重新出现。现在你知道是哪个引用导致了问题。
- 使用Visual Studio 2015 (v140*工具集)重建参考或找到一种方法删除参考。
相关文章:
- C/C++编译器通常会删除重复的库吗
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- Win32编译器选项和内存分配
- MSVC多行宏编译器错误
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++,我收到一个无法理解的编译器错误
- 在线编译器中的分段C++没有打印消息
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- C/C++预处理器是否可以检测一些编译器选项
- 是否有C++编译器选项允许激进地删除所有函数调用,并将参数传递给具有空体的函数
- C++错误C2600:无法定义编译器生成的特殊成员函数(必须首先在类中声明)
- 我需要知道编译器如何在cpp中使用析构函数
- 编译器如何区分std::vector的构造函数
- CLANG 编译器 说:变量"PTR"可能未初始化
- 告诉c++编译器该参数没有别名
- 使用仅使用一次的变量调用的复制构造函数.这可能是通过调用move构造函数进行编译器优化的情况吗
- 为什么所有C++编译器都会崩溃或挂起此代码
- 编译器如何在使用SFINAE的函数和标准函数之间确定两者是否可行
- 我收到同义重复编译器错误。我应该如何修复"类型"X"的参数与类型"X"的参数不兼容?
- 将CLR项目迁移到VS 2015会抛出C2869编译器错误