Visual Studio警告级别的等效GCC标志是什么?

Visual Studio警告级别的等效GCC标志是什么?,c,visual-studio,gcc,compiler-warnings,C,Visual Studio,Gcc,Compiler Warnings,我有一个应用程序,它由GCC和visualstudio编译器使用makefile构建 代码应在Visual Studio的警告级别4下编译无警告(VS是主要的编译器),一些项目需要设置警告级别3 需要将哪些相应的-Wsomething标志传递给GCC以使警告级别相等 我需要/W4和/W3的设置,为完整起见,/W2和/W1将不胜感激 对于/W4,我当前使用以下标志: -Wall -Wno-comment -Wno-parentheses -Wno-missing-braces -Wno-char-

我有一个应用程序,它由GCC和visualstudio编译器使用makefile构建

代码应在Visual Studio的警告级别4下编译无警告(VS是主要的编译器),一些项目需要设置警告级别3

需要将哪些相应的
-Wsomething
标志传递给GCC以使警告级别相等

我需要
/W4
/W3
的设置,为完整起见,
/W2
/W1
将不胜感激

对于
/W4
,我当前使用以下标志:

-Wall
-Wno-comment
-Wno-parentheses
-Wno-missing-braces
-Wno-char-subscripts
-Wno-write-strings
-Wno-unknown-pragmas

从cmd提示符,cd到VC++bin目录,运行vcvars32,然后键入cl/?。它会告诉你Visual C++的所有编译器标志。大约有5页的编译器标志。@cup:我不需要VS的标志,我需要GCC的标志。我知道有
W4
W0
,但我需要知道我必须传递给GCC的是什么。不会有任何完美的等价物,VS发出一些毫无意义的警告,在GCC中永远不会被接受。从
-Wall-Wextra
开始,用
-Wno-*
删除您不喜欢的内容,就像您已经在做的那样。有了叮当声,你可以试试
-Weverything
@eckes,你问这个问题已经过了一段时间了。。我有完全相同的问题和相同的问题。是否有任何更新/经验可供分享?您在项目中使用了哪些警告,或者遵循了哪些指导原则?@yussuf我换了另一种方法,并决定稍微收紧一些:我不再针对相同的设置,而是对GCC使用更严格的设置。在GCC上,我使用
-Wall-Wextra
进行编译(是的,因为当存在
-Wextra
时,
-Wall
不是隐式启用的),并坚持使用Windows的
/W4
。当我问这个问题时,我们没有运行CI;同时,每个构建都在Linux和Windows上运行,因此我们可以立即发现问题。