我有几个简单的宏存在于一个大项目中的一些文件,其中包括一个#error
。他们都遵循这种结构中,或多或少:GCC#错误,不会打破进一步编译
#ifdef COMPFAIL
#pragma message "Compilation Has Failed"
#error
#endif
我想设置的项目了,这样,如果COMPFAIL
定义,每个文件中的#pragma
与编译最终失败的发生。我现在明白,当调用#error
时,它会暂时停止编译,而不是试图编译我的Makefile中定义的任何其他文件,并且阻止所有进一步#pragma
调用发生。有没有办法强制编译器在失败之前完成所有文件的预处理?
我想你;重新寻找'make -k'或等价物,而不是编译器本身的任何特性。 – zwol 2014-09-02 21:51:15