C/C++ 编译器和生成工具错误与警告

此文档部分中的文章介绍了由 Microsoft C/C++ 编译器和生成工具生成的诊断错误和警告消息。

重要

Visual Studio 编译器和生成工具可报告多种类型的错误和警告。 发现错误或警告后,生成工具可做出有关代码意向的假设并尝试继续,因此,可能会同时报告更多问题。 如果工具做出错误假设,则后续错误或警告可能不适于你的项目。 纠正项目中的问题时,请始终先纠正报告的第一个错误或警告,然后在通常情况下重新生成。 一个修补程序可能会使许多后续错误消失。

若要在 Visual Studio 中获取有关特定诊断消息的帮助内容,请在“输出”窗口中选择该消息,然后按 F1 键。 Visual Studio 会打开该错误的文档页(如果存在)。 还可以使用页面顶部的搜索工具查找有关特定错误或警告的文章。 或者,按工具浏览错误和警告列表,并在此页面上的内容列表中键入内容。

注意

并非所有 Visual Studio 错误或警告均有记录。 在许多情况下,诊断消息将提供所有可用信息。 如果在使用 F1 时登陆此页,并且认为错误或警告消息需要额外的解释,请告诉我们。 可以使用此页面上的反馈按钮在 GitHub 上提出文档问题。 如果认为错误或警告是错误的,或者发现了工具集的其他问题,请在开发者社区网站上报告产品问题。 还可以在 IDE 中发送反馈并输入 bug。 在 Visual Studio 中,转到菜单栏并选择“帮助”>“发送反馈”>“报告问题”,或者使用“帮助”>“发送反馈”>“发送建议”提交建议

可以在 Microsoft Learn Q&A 论坛上找到有关错误和警告的其他帮助。 或者,在 Visual Studio C++ 开发者社区网站上搜索错误或警告编号。 还可以搜索 Stack Overflow 以查找解决方案。

有关指向其他帮助和社区资源的链接,请参阅 Visual C++ 帮助和社区

本节内容

BSCMAKE 错误和警告 (BKxxxx)
Microsoft 浏览信息维护实用工具 (BSCMAKE.EXE) 生成的错误和警告。

命令行错误和警告
生成工具为命令行选项问题生成的错误和警告。

编译器错误 C999 - C1999
停止 C++ 编译器 (CL.EXE) 的错误。

编译器错误 C2001 - C3999
C++ 编译器 (CL.EXE) 检测到的错误。

编译器警告 C4000 - C5999
针对 C++ 编译器 (CL.EXE) 检测到的问题的警告。

因编译器版本生成的编译器警告
每个编译器版本引入的警告列表。

C 运行时错误 (Rxxxx)
C 运行时库 (CRT) 在运行时生成的错误。

CVTRES 错误和警告 (CVTxxxx)
Microsoft Resource File To COFF Object Conversion 实用工具 (CVTRES.EXE) 生成的错误和警告。

表达式计算器错误 (CXXxxxx)
调试器和诊断工具生成的错误。

链接器工具错误和警告 (LNKxxxx)
链接器和相关工具(LINK.EXE、LIB.EXE、DUMPBIN.EXE、EDITBIN.EXE)生成的错误和警告。

数学错误 (Mxxxx)
运行时浮点数学库生成的错误。

NMAKE 错误和警告 (Uxxxx)
Microsoft 生成文件工具 (NMAKE.EXE) 生成的错误和警告。

按配置优化错误和警告 (PGxxxx)
按配置优化 (PGO) 工具生成的错误和警告。

项目生成错误和警告 (PRJxxxx)
Visual Studio 中本机 C++ 项目生成系统生成的错误和警告。

资源编译器错误和警告(RCxxxx、RWxxxx)
资源编译器 (RC.EXE) 生成的错误和警告。

矢量化程序和并行化程序消息
矢量化器和并行化器优化编译器选项生成的诊断消息。

默认关闭的编译器警告

另请参阅

C/C++ 生成参考
在 Visual Studio 中进行调试