c++ - 当 C++ 在 unix 中调用错误时停止所有 makefile 操作

标签 c++ unix error-handling makefile

我有一个可以执行多种操作的 makefile,包括调用 bash 文件和创建 C++ 文件。在 bash 文件中我有代码:

echo "${variable}: Error" 1>&2
exit 1

它打印错误文本,然后退出批处理文件和 makefile,停止它。我想用 C++ 代码做同样的事情。我可以抛出一个错误并在抛出错误的地方停止 C++ 代码,但我似乎无法找到一种方法来让它停止 makefile。有没有办法做到这一点?感谢您的帮助。

编辑:在下面的评论中提到,但是 makefile 都会编译代码,然后在下一节中运行它,因此最好能够在编译错误和运行错误时都打破 makefile。

最佳答案

既然您谈论的是 Makefile,我假设您希望在 C++ 程序的编译期间停止 Makefile(而不是生成的程序的执行)。

如果是这种情况,请使用 #error 预处理器指令。

 #if !defined(FOO) && defined(BAR)
 #error "BAR requires FOO."
 #endif

引用:

关于c++ - 当 C++ 在 unix 中调用错误时停止所有 makefile 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24621049/

相关文章:

ruby-on-rails - 如何验证(和处理)传递给.to_date的值是否有效或返回错误?

c++ - 什么是 boost system error_code number 2

c++ - Unicode字符串的跨平台迭代(使用ICU计算字形)

c++ - 为什么我的输出为零?

c++ - Vim C++ 自动完成

python-2.7 - 将Python日期转换为Unix时间戳

linux - 守护进程不会杀死正在从命名管道读取的 child

c++ - Hook Java 应用程序会导致应用程序崩溃/卡住

c++ - 二维数组 - 函数

javascript - 如何让代码在出错后继续执行 [JS]