当我通过visual studio 2013构建项目时,它运行正常。但是在使用visual studio 2015构建之后我遇到了以下错误。我该如何解决这个问题?
致命错误C1001:编译器中发生内部错误。 命令行错误D8040:创建或与子进程通信时出错
答案 0 :(得分:2)
非常感谢Walbourn。您的解决方案非常有效。我通过visual studio 2015中的以下设置解决了这个问题:
1- Disable c/c++->general->Multi-processor compilation
2- Disable c/c++->general->optimization
3- Disable c/c++->language->open mp support
答案 1 :(得分:1)
C1001是" ICE",内部编译器错误。这意味着您的代码在编译器中生成了致命的错误。您使用的是VS 2015,VS 2015 Update 1还是VS 2015 Update 2?
找到已安装的编译器版本的一种方法是运行 VS 2015开发人员命令提示符,然后运行以下命令:
cl -Bv
并记下报告的版本。 VS 2015 Update 2为19.00.23918.0
" ICE"总是一个bug。如果您的代码出错了,编译器应该发出错误或警告,而不是崩溃。您的代码也可以很好,自VS 2013以来,编译器中引入了一个新的错误。编译器已完成lot of work以完全支持C ++ 11以及支持即将发布的C ++ 14 / C ++ 17草案。
您应该在VS Connect上提交错误。有关创建良好复制品的说明,请参阅this article。这个blog post也是如何缩小编译器问题的一个很好的记录。
在大多数情况下,仅使用几行代码重新编写ICE非常困难,并且仅在非常特定的上下文中触发。这就是为什么上面的说明都是关于提供捕获问题本质的最小repro的原因。您还可以尝试使用newer build编译器来查看问题是否已得到修复。