命令行错误和警告

本节中的文章介绍了生成工具生成的命令行错误和警告。 这些消息的格式为 Dxxxx,其中 xxxx 是四位数字

重要

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

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

注意

并非所有 Visual Studio 错误或警告均有记录。 在许多情况下,诊断消息将提供所有可用信息。 如果登录此页面并认为错误或警告消息需要其他说明,请使用此页面上的反馈按钮告知我们。 如果认为错误或警告是错误的,或者发现了工具集的其他问题,请在开发者社区网站上报告产品问题。 还可以在 IDE 中发送反馈并输入 bug。 在 Visual Studio 中,转到菜单栏并选择 “帮助 > 发送反馈 > 报告问题”,或使用 “帮助 > 发送反馈 > 建议”功能提交建议。 创建了一些编译程序错误主题,这些主题不是由编译程序发出的,但现在会重定向到此页面。

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

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

命令行错误消息

错误 Message
命令行错误 D8016 “option1”和“option2”命令行选项不兼容
命令行错误 D8021 无效数值参数“number”
命令行错误 D8022 无法打开“messagefile”
命令行错误 D8027 无法执行“component”
命令行错误 D8036 不允许使用多个源文件的“/option”
命令行错误 D8037 无法创建临时 il 文件;清理旧 il 文件的临时目录
命令行错误 D8045 无法使用 /clr 选项编译 C 文件“file”
命令行错误 D8048 无法使用 /ZW 选项编译 C 文件“file-name
命令行错误 D8049 无法执行“compiler-component”:命令行太长,无法适应调试记录

命令行警告消息

警告 Message
命令行警告 D9024 无法识别的源文件类型“filename”,假定对象文件
命令行警告 D9025 使用“option2”重写“option1”
命令行警告 D9026 选项适用于整个命令行
命令行警告 D9027 忽略源文件“<filename>”
命令行警告 D9028 最小重新生成失败,还原为正常生成
命令行警告 D9035 选项“option”已弃用,将在将来的版本中删除
命令行警告 D9036 option_2”而不是“option_1
命令行警告 D9040 忽略选项“/analyze”;此版本的编译器中不提供代码分析警告
命令行警告 D9041 “/option-name”的值“option-value”无效;假设为“assumed-value”;指定此警告时,将“/analyze”添加到命令行选项
命令行警告 D9043 “compiler_option”的值“warning_level”无效;假设为“4999”;代码分析警告与警告级别无关

另请参阅

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