Koc*_*cka 16 c++ compilation clang compiler-warnings c++11
我想编译以下文件(temp.cpp):
#include <iostream>
class Foo {
public:
Foo() = default;
};
int main(){
std::cout << "Works!" << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用以下命令: clang++ temp.cpp -o temp -std=c++11 -Weverything -Werror
有一个错误:
temp.cpp:5:11:错误:默认函数定义与C++ 98不兼容[-Werror,-Wc ++ 98-compat]
我知道有一个类似c ++ 98-compat的警告,它是一切的一部分.如何启用除c ++ 98-compat之外的所有警告?-Weverything是否有c ++ 11兼容标志?
Mat*_* M. 31
实际上,你可能不希望所有的警告,因为一些警告可以被认为是风格或主观的,而其他警告(例如你遇到的警告)在你的情况下是愚蠢的.
-Weverything 最初建立有两个原因:
-Weverything樱桃选择那些你不想申请的人; 优点是,当转移到新版本的编译器时,您更有可能从新警告中受益显然,发现与生产使用并不完全兼容; 因此,你似乎陷入黑名单案件中.
Clang诊断系统将输出(默认情况下)负责生成警告的最具体警告组的名称(此处-Wc++98-compat),并且可以通过no-在此之后添加来关闭每个警告组-W.
因此,对于黑名单,您将获得:
-Weverything -Wno-c++98-compat -Wno-...
Run Code Online (Sandbox Code Playgroud)
并且我们鼓励您不时修改列入黑名单的警告(例如,当您升级到新的编译器时).
| 归档时间: |
|
| 查看次数: |
6157 次 |
| 最近记录: |