【问题标题】:Visual Studio 2019 "C1001 internal compiler error" only in ReleaseVisual Studio 2019“C1001 内部编译器错误”仅在发行版中
【发布时间】:2020-12-17 17:37:28
【问题描述】:

我在尝试在 Visual Studio 2019 版本 16.7.2 中构建时遇到 C1001 错误。这是一个 C++ 项目,在我今天尝试构建更改集之前,它之前构建得很好。

确切的错误如下:(项目特定路径已编辑)

1>d:\work\[...](82): fatal error C1001: An internal error has occurred in the compiler.

1>(compiler file 'd:\agent\_work\3\s\src\vctools\compiler\utc\src\p2\main.c', line 187)

以下注意事项:

  1. 该错误仅发生在 Release 中。调试构建并运行。
  2. 如果我在 Release 中关闭所有优化,错误就会消失。
  3. 发生错误的位置似乎与我最近对项目所做的更改无关,即 VS 报告了一个翻译单元中的错误,该翻译单元在另一个 TU 中进行了不相关的更改之前一直没有问题地构建。
  4. 发生错误的位置似乎实际上并没有问题,因为如果我注释掉那里的函数实现并从函数返回一个默认值以便程序在语法上正确,则错误发生在同一个文件中的下一个函数。
  5. 关闭整个程序优化和链接时间代码生成不能解决问题。

【问题讨论】:

  • 内部编译器错误是编译器错误。您需要向 VS 提交错误。
  • 如果不可能创建一个最小的可重现示例,那它是如何工作的?这是一个相当大的代码库,在代码生成过程中会突然出错。
  • 你必须将你的代码交给微软以获得一些帮助......link
  • 感谢您在问题中添加确切的错误消息。请参阅下面的回复。

标签: c++ visual-studio compiler-errors


【解决方案1】:

建议

请:

  1. 使用准确的错误文本更新您的帖子(如果有)

  2. 也将您的问题发布到https://developercommunity.visualstudio.com/

  3. 看看这些链接是否适用:

  1. 通知 Microsoft 支持的一种方式如下:

    MSVS > 帮助 > 发送反馈 > 报告问题

  2. 这里是 MSVS 支持选项的完整列表:https://visualstudio.microsoft.com/vs/support/


更新:

感谢您复制/粘贴确切的错误消息:

1>d:\work\[...](82): fatal error C1001: An internal error has occurred in the compiler.
1>(compiler file 'd:\agent\_work\3\s\src\vctools\compiler\utc\src\p2\main.c', line 187)

这是导致错误 C1001 的 MSVS 文件:vctools\compiler\utc\src\p2\main.c

这是一份现有的 Microsoft 故障报告:

https://developercommunity.visualstudio.com/content/problem/210332/c1001-internal-error-compiler-file-fddvctoolscompi.html

你好罗杰,

感谢您报告该错误,并附上一个非常好的 独立的repro,这么快。我已经调查过,这似乎 是同一个问题 https://developercommunity.visualstudio.com/content/problem/209359/ice-with-fpfast-in-156-and-msvc-daily-1413263051-p.html.

我将其作为副本关闭,以便人们可以收集 上下文和解决方法建议在同一位置,以及何时 其他错误已标记为已修复,您可以假设这个错误也是如此。

再次感谢,

亚伦·戈伦斯坦
二级软件工程师

搜索此错误消息/源模块,我还发现了这个:https://stackoverflow.com/a/63435683/421195

如果其中任何一个对您有用,请回帖!

【讨论】:

  • 感谢链接...将优化设置为自定义并应用“'/Ob2 /Oi /Os /Oy”允许我在 x86 版本中成功编译。 (此错误仅在 x86 中出现......我在写问题时并不确定这一点,所以忽略了这个细节;但现在我已经验证 x64 构建没有问题)。该程序现在慢了约 2 倍,因此显然这是一种变通方法而不是解决方案,但它比完全关闭优化至少 2 倍要好。
  • 刚刚在 16.9.4 的 x64 版本中看到了这一点。
  • 发布 x64 @ 16.9.4 +1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
  • 2020-09-16
  • 1970-01-01
  • 1970-01-01
  • 2021-04-06
相关资源
最近更新 更多