如何解决忽略Visual Studio中非项目文件中的警告
我刚刚打开所有警告(/Wall
),并将所有警告视为错误(/WX
)。我突然从0警告变为1329错误警告。
问题是,这些警告中有99%不在我编写的文件中。它们的一部分在标准库中,而其他的则在我用于项目的库中。
我如何告诉Visual Studio仅对我编写的文件(直接属于项目的一部分)执行此类检查,而忽略其他所有内容?
请注意,我所有的源文件以及任何库都将包含在一个文件夹中(但与我的源文件不同)。
编辑: 我意识到我可以将我不想检查的所有包含物包装起来,例如:
#pragma warning(push,0) // Ignore warnings in non-project files.
#include "volk.h"
#include "glfw3.h"
#include <assert.h>
#include <cstdio>
#include <stdexcept>
#include <vector>
#pragma warning(pop);
但是,在这种情况下,文件xmemory
中存在一些警告,但仍在报告中。它们出现在函数_Adjust_manually_vector_aligned
中,但是我不知道从这里去哪里。
请注意,即使我将整个文件(也只有一个文件)包装在上面的编译指示中,也会出现此警告。
解决方法
在#pragma warning(push,0)
中包含换行,并且#pragma warning(pop);
对于标志W0
到W4
而言有效,Wall
似乎包含不受编译指示影响的警告以上。这是设计使然:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。