如何解决始终禁用Visual Studio项目中的警告
我一直在和Visual Studio作战。我喜欢使用\ WX选项将所有警告视为错误,所以我有一个common.h,它看起来像这样来禁用我不太在意的误报或警告:
#pragma once
#pragma warning(disable : 26812) // The enum type * is unscoped. Prefer 'enum class' over 'enum'.
#ifndef _DEBUG
#pragma warning(disable : 4189) // *: local variable is initialized but not referenced
#pragma warning(disable : 4464) // Relative include path contains '..'
#pragma warning(disable : 4514) // *: unreferenced inline function has been removed
#pragma warning(disable : 4710) // * function not inlined
#pragma warning(disable : 4711) // Function * selected for automatic line expansion
#endif
我将此文件添加到每个.h
文件的顶部。作为额外的预防措施,当我添加任何我不想编辑的外部文件(例如任何库)时,我将包含包含在#pragma warning(push,0)
和#pragma warning(pop)
之间,以确保这些文件中的任何警告都会被忽略,因为我无论如何也无能为力。
我遇到的问题是我包含的库文件(在这种情况下为volk.h
)正在包含另一个文件(volk.c
),并且此文件正在触发警告26812
我通过两种方式禁用了它:
- 明确地,在
common.h
之前随处可见的volk.h
中 - 通过在“警告禁用者”之间包装任何
volk.h
包含内容,可以隐含地
那么,这是怎么回事?为什么此警告仍然存在?有什么好的方法可以在整个警告范围内禁用警告吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。