gcc - 如果编译失败,则执行命令

标签 gcc makefile compiler-errors

使用GNU Make和gcc中的编译器之一:是否可以(且仅当)编译失败时执行命令?

最佳答案

如果为命令添加前缀-,即使命令返回非零错误代码,make也会继续执行。但是无法从第二个命令中的第一个命令访问错误代码。

您可以在单个make命令中编写任意复杂的shell脚本。例如,这是在C编译器失败时调用两个恢复命令的方法,仅在第一个命令失败时才运行第二个恢复命令,然后在C编译器失败时停止构建过程。

$(CC) $(CFLAGS) -o $@ -c $< || { \
  recovery_command_1 && \
  recovery_command_2; \
  false; \
}

关于gcc - 如果编译失败,则执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3375509/

相关文章:

c++ - 具有链依赖性的简单 makefile。 "linker input file unused because linking not done"和 g++ -c

java - 非法的表达开始

c++ - 编译器错误 - 没有想法

c - 解析 $PATH 变量并将目录名称保存到字符串数组中

c - 一次又一次初始化时,指针在循环内做了什么?

c++ - 是否有使用 C 库中的符号而不是通过命名空间 std 的 GCC 警告?

c - 构建 GCC 使 : *** [all] Error 2

gcc - 使用 -L 专门查找库时获取 'error while loading shared libraries'

c - 在 MakeFile 中设置选项以将目标文件发送到特定文件夹

java - 如何让 "circular"泛型在 Java 中工作?