Visual Studio警告级别的等效GCC标志是什么?
我有一个应用程序,它由GCC和visualstudio编译器使用makefile构建 代码应在Visual Studio的警告级别4下编译无警告(VS是主要的编译器),一些项目需要设置警告级别3 需要将哪些相应的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-
-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上运行,因此我们可以立即发现问题。