在cmake生成期间禁用警告

时间:2018-10-21 16:56:56

标签: android cmake android-ndk

在构建过程中出现一些错误时,由于也有很多警告,因此很难在列表中找到它们

  

产生66条警告和7个错误。

如何在构建过程中隐藏警告并仅显示错误?

enter image description here

1 个答案:

答案 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));
                      ~~~~~~~^~~~