答案 0 :(得分:0)
通常,您应该修复警告而不是忽略警告(它们中的很多确实很擅长发现错误,有些不是那么多),但是由于您说的不是您的代码,因此最好禁用警告。
您已经修剪了日志中带有警告名称的部分,但是每一行看起来都像这样:
foo.cpp:2:1: warning: control reaches end of non-void function [-Wreturn-type]
要使该特定警告静音,请将-Wno-return-type
添加到您的标志中。
请注意,虽然您可以使 all 警告消失,以省去多次整理此列表的麻烦,但我强烈建议您一一进行,以使您知道自己所忽略的内容。有一些警告,即使在第三方代码中也不应忽略。例如,-Wreturn-type
指出了Clang 将用来做有趣的事情的代码块(这是未定义的行为)。还有一些重要的安全警告,例如-Wstrlcpy-strlcat-size
:
#include <string.h>
void foo() {
char bar[2];
char baz[] = "baz";
strlcpy(bar, baz, sizeof(baz));
}
foo.cpp:6:30: warning: size argument in 'strlcpy' call appears to be size of the source; expected the size of the destination [-Wstrlcpy-strlcat-size]
strlcpy(bar, baz, sizeof(baz));
~~~~~~~^~~~