c++ - Visual Studio 2015中出现错误D8040的原因是什么?

标签 c++ c++11 visual-c++ visual-studio-2015 compiler-errors

当我使用 Visual Studio 2013 构建项目时,它运行正常。但是使用 Visual Studio 2015 构建后遇到以下错误。我该如何解决这个问题?

fatal error C1001: An internal error has occurred in the compiler. Command line error D8040: error creating or communicating with child process

最佳答案

C1001 是一个“ICE”,一个内部编译器错误。这意味着您的代码在编译器中生成了 fatal error 。您使用的是 VS 2015、VS 2015 Update 1 还是 VS 2015 Update 2?

One way to find which version of the compiler you have installed is to run the Developer Command Prompt for VS 2015 and then run the following command: cl -Bv and note which versions are reported. VS 2015 Update 2 is 19.00.23918.0

“ICE”始终是一个错误。如果您的代码做错了,编译器应该发出错误或警告,而不是崩溃。也有可能你的代码很好,自 VS 2013 以来编译器中引入了一个新的错误。出现了 lot of work对编译器进行了修改,以完全支持 C++11 并支持即将发布的 C++14/C++17 草案。

您应该在 VS Connect 上提交错误。请参阅this article有关创建良好复制品的指导。这个blog post也是关于如何缩小编译器问题范围的精彩文章。

在大多数情况下,仅用几行代码就很难重现 ICE,并且仅在非常特定的上下文中触发。这就是为什么上面的说明都是关于提供捕获问题本质的最小重现。您也可以尝试newer build编译器以查看问题是否已修复。

关于c++ - Visual Studio 2015中出现错误D8040的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37474435/

相关文章:

c++ - 内存中的 Ascii 到十进制,是否会有按位移位的答案?

c++ - boost 共享内存。当前有多少进程正在使用共享内存?

c++ - MSVC 用 double 支撑初始化似乎违反了标准?

c++ - 将 ARGB 纹理转换为下一个 2 次方纹理的方法

c++ - 构造函数的继承错误调用

c++ - 属性通知更改在 C++/CX 绑定(bind)中等效

c++ - 错误 LNK2019 : unresolved external symbol _Direct3DCreate9Ex@8 referenced in function "protected: XYX()"

c++ - 带有 Xcode 生成器的特定于配置的 add_custom_command

c++ - boost 图形库 - 顶点颜色和 graphviz 输出的最小示例

c++ - 使用 C/C++ 进行字符串格式化