当其中一个失败时,停止多个文件GCC编译

时间:2016-12-16 10:20:33

标签: c bash gcc compilation compiler-errors

我创建了以下bash构建脚本文件:

BLD_INCLUDE="-I..source/module1 -I..source/module2"
SRC_MOD1="$(find ../source/module1 -name '*.c')"
SRC_MOD2="$(find ../source/module2 -name '*.c')"
BLD_SOURCES="../source/program.c $SRC_MOD1 $SRC_MOD2"
BLD_LINKER="" #if there is any need of linker - irrelevant here
gcc $BLD_FLAGS $BLD_INCLUDE -o outputobject $BLD_SOURCES $BLD_LINKER

我正在构建这样的因为我需要编译很多文件。

问题是,当使用gcc执行多个文件时,如上所述,如果其中一个文件的编译失败,它会提示错误以及“编译终止”,然后继续执行其他文件。

我想要的行为是,即使其中一个文件无法编译,整个编译也会停止。

也就是说,在我的情况下:假设缺少一个头文件。现在gcc尝试编译第一个.c,发现缺少头文件,提示

  

致命错误:文件丢失错误   编译终止。

然后继续执行其他.c个文件。由于头文件总是丢失,它会继续给我这个错误并继续执行。

我希望这个构建脚本在编译失败时立即终止,即使是其中一个文件。

编辑:不是Stop GCC on error with multiple files compilation的副本,它源于这个问题本身(阅读评论)。这个问题甚至可以追溯到这一点。

0 个答案:

没有答案