一组警告作为错误g ++

Mar*_*ero 10 c++ compiler-errors g++ compiler-warnings

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

  • 我希望将正常警告视为错误(-Werror)
  • 我想要发现额外的警告.(-Wall-Wextra)

但我的问题是这样,所有和额外的警告都会出错.有没有办法实现我想要的,而无需设置长列表-Werror=xxx,xxx,xxx.
是否存在某种错误集的别名?

Mat*_*son 16

如果你只是给-Werror所有警告变成错误.除了列出你(不)想要犯错的那些-W(no-)error=xxx,我不相信有一种方法可以"对错误做出一些警告".

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

从长远来看,我确信值得花费额外的努力来标记你(不)想要-Werror将哪些错误视为错误[虽然我会说更好的解决方案可能是使用-Wno-xxx,禁用你认为可接受的任何警告,而不是"警告但不要使其成为错误" - 毕竟,-Werror我认为目的是防止代码被提交到带有警告的项目 - 这应该是表示两种情况之一:警告已修复,或警告已禁用.无论哪个对该项目有意义].


sya*_*yam 5

-Werror=...您可以使用-Werror -Wno-error=...更短的警告列表(仅由 启用的那些-Wall -Wextra),而不是使用一长串警告。手册列出了启用了哪些警告,-Wall -Wextra因此很容易。