使用makefile隐藏clang警告
Hide clang warnings using makefile
我有一个makefile,有以下几行:
CXX=clang++
CXXFLAGS=-g -std=c++11 -pedantic -Wno-c++11-extensions
我仍然得到这个:
warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
是否有一种方法,我可以隐藏警告使用makefile?
POST QUESTION EDIT
rsay3原帖中的内容不足以得到正确的回答。文章中没有说明的是正确的方法,这使我们只能推断出问题实际上是在其他地方,而在问题中没有说明的地方。
如果使用-std=c++11
,我们不应该得到任何警告,关于某些特性只在c++ 11中可用(因为我们已经将其编译为c++ 11),并且冗余的-Wno-c++11-extensions
是正确的(即使没有必要)。
PRE QUESTION EDIT
-W...
和添加的警告说明符使能够发出特定的警告,如果您想要抑制诊断,则必须使用-Wno-...
,如下面的示例所示:
CXXFLAGS=-g -std=c++11 -pedantic -Wno-c++11-extensions
// main.cpp
int main () {
auto val = 123;
}
<一口>一口>
% clang++ -Wall -std=c++03 main.cpp
foo.cpp:2:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]
auto val = 123;
foo.cpp:2:8: warning: unused variable 'val' [-Wunused-variable]
auto val = 123;
<一口>一口>
% clang++ -Wall -Wno-c++11-extensions -std=c++03 main.cpp
foo.cpp:2:8: warning: unused variable 'val' [-Wunused-variable]
auto val = 123;
相关文章:
- Clang 给了我符号更改的警告,但代码仍然产生正确的输出
- 当 noexcept 函数尝试在 gcc 或 clang 中调用非 noexcept 函数时启用警告
- 在 C++11 中轻松初始化模板类的静态成员,没有 clang 警告
- Clang-CL 警告 strnicmp 已弃用,请使用 ISO C 并C++符合标准的名称_strnicmp
- 冲突的 CLANG"虚拟 dtor"和"已弃用的复制运算符"警告
- 有没有办法在初始化字符串时避免来自 clang-tidy(fuchsia-default-arguments)的警告?
- 为什么 gcc 和 clang 都没有发出任何警告?
- Clang:覆盖之前在命令行上指定的所有警告和错误警告标志
- 为什么 Clang 警告未使用的指针和未使用的基元,而不是未使用的对象?
- clang++ 8.0.1 自分配重载警告
- Clang 对使用的类型别名发出"unused type alias"警告
- Clang 4.0.0 Cuda和Cmake最小警告的最佳实践
- GCC和Clang不警告未使用的异常变量
- clang++ 是否忽略了某些弃用警告的外部"C"?
- 如果对象在同一层次结构中,-Wreturn-std-move clang 警告是否正确
- 警告绑定到临时值的 clang 是否正确
- 在 Clang 中禁用特定警告实例的简洁方法
- 为什么尽管使用了 -isystem,但 clang 在我的标头上报告警告,而 gcc 没有报告警告?
- 关于静态模板化 constexpr 的 Clang 警告(未定义内联函数)
- #pragma警告clang/msvc兼容性