我想为我的 g++ 编译器更改警告和错误的行为:
- 我希望将正常警告发现为错误 (
-Werror
) - 我希望发现额外的警告。(
-Wall
和-Wextra
)
但我的问题是,这样一来,所有额外的警告都会出错。有没有一种方法可以实现我想要的,而无需在-Werror=xxx,xxx,xxx
.
是否有某种错误集的别名?
我想为我的 g++ 编译器更改警告和错误的行为:
-Werror
)-Wall
和-Wextra
)但我的问题是,这样一来,所有额外的警告都会出错。有没有一种方法可以实现我想要的,而无需在-Werror=xxx,xxx,xxx
.
是否有某种错误集的别名?
如果你只是给出-Werror
所有的警告就会变成错误。除了将您(不)想犯的错误列为 之外-W(no-)error=xxx
,我不相信有一种方法可以“将一些警告变成错误”。
当然,一种解决方案可能是编译代码两次 - 一次使用-Wall
and -Wextra
,一次使用-Werror
,但不使用-Wall
and -Wextra
。
从长远来看,我确信将您(不)希望-Werror
看到的错误标记为错误的额外努力是值得的[尽管我会说更好的解决方案可能是使用 -Wno-xxx,禁用任何你认为可以接受的警告,而不是“警告但不要让它成为错误”——毕竟,-Werror
在我看来,这样做的目的是防止代码被提交给带有警告的项目——这应该表示以下两种情况之一:警告已修复,或警告已禁用。无论哪个对那个项目有意义]。
您可以使用更短的警告列表(仅由 启用的警告),而不是使用-Werror=...
一长串警告。手册列出了启用了哪些警告,因此很容易。-Werror -Wno-error=...
-Wall -Wextra
-Wall -Wextra