在遇到用户创建的错误后,如何以编程方式强制编译器停止编译过程?

Posted

技术标签:

【中文标题】在遇到用户创建的错误后,如何以编程方式强制编译器停止编译过程?【英文标题】:How can I programmatically force the compiler to stop the compilation process after it encountered a user created error? 【发布时间】:2015-10-21 15:20:47 【问题描述】:

在我的代码中,我使用#error 预处理器指令来创建错误。但是,它仍在继续构建过程。

遇到错误后,如何以编程方式强制停止构建过程?

我正在使用适用于 Windows 10 的 Microsoft Visual Studio 2015、C++ v140、x86。

【问题讨论】:

StopOnFirstBuildError? 我正在专门寻找解决方案来做到这一点programmatically 你说的programmatically是什么意思?在代码中?通过外部脚本? #error 正是为此而生的。您能否更具体地说明您的构建发生了什么? #error 终止当前翻译单元(源文件)的编译。它并不一定会阻止 IDE 继续编译其他源文件。 【参考方案1】:

From MSDN

#error 指令在编译时发出用户指定的错误消息然后终止编译。

(强调)

如果编译在 #error 指令之后继续,那么你做的事情很奇怪,或者 MSVC 坏了。

【讨论】:

以上是关于在遇到用户创建的错误后,如何以编程方式强制编译器停止编译过程?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式将IAsyncOperation强制为错误状态?

我如何以编程方式将IAsyncOperation强制为错误状态?

如何以编程方式强制 EGORefreshTableHeaderView 更新

如何以编程方式强制 log4net 释放日志文件以便可以访问它?

如何以编程方式创建展开转场[重复]

如何在 Windows 中以编程方式强制重启/重新加载 Playback 设备?