Visual studio 2015 C+的内部编译器错误+;在Visual Studio 2015更新1中

Visual studio 2015 C+的内部编译器错误+;在Visual Studio 2015更新1中,visual-studio-2015,release,Visual Studio 2015,Release,我已更新到Visual Studio 2015 Update 1,但现在每当我编译64位版本配置时,都会遇到以下错误,所有这些都适用于32位和/或调试版本 fatal error C1001: An internal error has occurred in the compiler. (compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 246) To work around this problem, tr

我已更新到Visual Studio 2015 Update 1,但现在每当我编译64位版本配置时,都会遇到以下错误,所有这些都适用于32位和/或调试版本

fatal error C1001: An internal error has occurred in the compiler.
  (compiler file 'f:\dd\vctools\compiler\utc\src\p2\main.c', line 246)
   To work around this problem, try simplifying or changing the program near the locations listed above.
  Please choose the Technical Support command on the Visual C++
   Help menu, or open the Technical Support help file for more information
    link!InvokeCompilerPass()+0x2d4bd
    link!DllGetC2Telemetry()+0xae663
不是我的每个项目都会发生错误,而是一些项目会发生错误

简化指定的位置实际上是不可能的,编译器崩溃的位置通常只是一个非常简单的单行函数,更改此代码也会在不同的位置导致相同的错误。据我所知,它与优化和内联有关。但是改变优化选项也没有帮助

有人能告诉我如何找到真正有问题的代码或一些编译器选项来避免这个错误吗


我不相信更新被破坏。

尝试将项目优化设置为禁用(/Od),它可能会解决问题

在Visual Studio开发中设置此编译器选项 环境

  • 打开项目的“属性页”对话框
  • 单击C/C++文件夹
  • 单击优化属性页
  • 修改优化属性
  • 资料来源:


    我希望我的回答能支持您的问题。

    在发布版x64中重新编译JSON库。配置设置为最大速度(/O2),但General使用“无整个程序优化”。
    从“无整个程序优化”更改为使用链接时间代码生成(我相信标志是/LTCG)成功构建。

    升级到MSVC 2015 update 1后,我们在一个项目中遇到了C1001

    通过反复试验,我们已经确定
    ClCompile/AssemblerOutput
    属性是我们案例中的罪魁祸首。删除此属性不再导致C1001

    资料来源:


    2016年4月6日更新:我尝试使用MSVC 2015 Update 2构建同一个项目,但没有删除
    ClCompile/AssemblerOutput
    属性,并且在构建此项目时不再获得C1001。我想更新2解决了这个问题。

    在我们将公司的代码库从VC10转换为VC14时,我也遇到了这个问题。在我们的例子中,当以x64为目标时出现了问题,并且在打开汇编程序输出的同时启用了SEH(
    /EHa
    )。在我们的例子中,当流插入操作符(即,
    std::cout::operatorreport in on connect:@magicandre1981似乎已经在connect上报告了,但我看不到任何解决方案。实际上,C/C++、输出文件、汇编程序输出也需要在“无清单”上。