我想更改g ++编译器的警告和错误行为:
-Werror
)-Wall
和-Wextra
)但我的问题是这样,所有和额外的警告都会出错。有没有办法实现我想要的,而无需在-Werror=xxx,xxx,xxx
设置长列表。
是否存在某种错误的别名?
答案 0 :(得分:14)
如果你只是给-Werror
所有警告都会出错。除了列出你(不)想要犯错误的-W(no)error=xxx
之外,我不相信有一种方法可以“对错误做出一些警告”。
当然,一个解决方案可能是编译代码两次 - 一次使用-Wall
和-Wextra
,一次使用-Werror
,但不是-Wall
和{{1 }}
从长远来看,我确信值得花费额外的努力来标记你(不)希望-Wextra
看到错误的错误[虽然我会说更好的解决方案可能是使用-Wno-xxx,禁用你认为可接受的任何警告,而不是“警告但不要使其成为错误” - 毕竟,我认为-Werror
的目的是阻止代码被提交到一个带有警告的项目 - 这应该意味着两件事之一:警告被修复,或者警告被禁用。无论哪个对该项目有意义]。
答案 1 :(得分:4)
您可以将-Werror=...
与更短的警告列表(仅-Werror -Wno-error=...
启用的警告列表)一起使用-Wall -Wextra
,而不是将-Wall -Wextra
与警告列表一起使用。该手册列出了{{1}}启用了哪些警告,因此这是一个明智的选择。