【发布时间】:2011-05-21 06:42:50
【问题描述】:
首先,我希望它在出现警告时停止。但我也想打印一些信息性消息(比如“回来实现这个!”)。
很遗憾,我的编译器不支持#info、#message、#pragma message()等。
我知道有 -Wno-error=<something>,但我的 google-foo 很弱,我似乎找不到 <something> 的 #warning。我试过-Wno-error=warning,只是说“没有-Wwarning”。与“warn”相同。
有什么建议吗?
不管怎样,我正在使用 Tensilica Xtensa 编译器 xt-xcc,它似乎是 GNU 的衍生产品,或者至少使用了 GNU 前端。它是 8.0.0 版。
【问题讨论】:
-
您使用的是什么编译器和版本?
-
既然您说它是 GNU 衍生产品:gcc 的
-fdiagnostics-show-option选项告诉它告诉您哪个选项控制发生的每个警告。也许 xt-xcc 有那个? -
另一种选择是(非常丑陋)将所有其他警告单独转换为错误。
-
@JXG:除了问题不是特定于“嵌入式”并且通常适用于 GCC。不确定它是否证明了嵌入标签的合理性。
-
-Wno-error=cpp适用于我的gcc4.6.1 版(请参阅我的答案)。较新的 gcc 可以优雅地命名警告的类别名称... :-)
标签: c gcc embedded c-preprocessor preprocessor-directive