Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 一组警告,如错误g++;_C++_Compiler Errors_G++_Compiler Warnings - Fatal编程技术网

C++ 一组警告,如错误g++;

C++ 一组警告,如错误g++;,c++,compiler-errors,g++,compiler-warnings,C++,Compiler Errors,G++,Compiler Warnings,我想更改我的g++编译器的警告和错误行为: 我希望正常警告被发现为错误(-Werror) 我想要额外的警告被发现。(-Wall和-Wextra) 但我的问题是,这样一来,所有和额外的警告都会出错。有没有一种方法可以实现我想要的,而无需在-Werror=xxx,xxx,xxx上设置一个长列表是否有一组错误的别名?与使用一长串警告的-Werror=…相比,您可以使用-Werror-Wno error=…和更短的警告列表(仅由-Wall-Wextra启用)。手册列出了哪些警告是由-Wall-Wex

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

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

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

与使用一长串警告的
-Werror=…
相比,您可以使用
-Werror-Wno error=…
和更短的警告列表(仅由
-Wall-Wextra
启用)。手册列出了哪些警告是由
-Wall-Wextra
启用的,因此这是一个很简单的问题。

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

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

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