警告集为错误g++

Set of Warnings as Error g++

本文关键字:g++ 错误 警告      更新时间:2023-10-16

我想更改g++编译器的警告和错误行为:

  • 我希望正常警告被发现为错误(-Werror
  • 我希望能发现额外的警告。(-Wall-Wextra

但我的问题是,这种方式,所有和额外的警告都是错误的。有没有一种方法可以实现我想要的,而不需要在-Werror=xxx,xxx,xxx设置一个长列表
一组错误是否有某种别名?

如果只给出-Werror,则所有警告都将变为错误。除了把你(不)想犯的错误列为-W(no-)error=xxx之外,我认为没有办法"把一些警告变成错误"。

当然,一种解决方案可能是编译两次代码——一次是使用-Wall-Wextra,一次是用-Werror,但不使用-Wall-Wextra

从长远来看,我相信,标记您(不)希望-Werror将哪些错误视为错误是值得的[尽管我认为更好的解决方案可能是使用-Wno-xxx,禁用您认为可以接受的任何警告,而不是"警告但不要使其成为错误"-毕竟,在我看来,-Werror的目的是防止代码提交到带有警告的项目中-这应该意味着两件事之一:警告是固定的,或者警告是禁用的。无论哪一个对该项目有意义]。

与其将-Werror=...与一长串警告一起使用,不如将-Werror -Wno-error=...与一短得多的警告一起使用(仅限-Wall -Wextra启用的警告)。手册列出了-Wall -Wextra启用的警告,所以这是一个很容易的问题。