Visual Studio禁用特定目录中文件的警告

bpeikes

我们有一个VS 2019项目,其中包括我们添加到项目中的外部源库。例如,我们正在使用WTL(Windows模板库)。在编译期间,这些库会产生大量警告(尤其是对于没有默认值的成员)。

对于这些文件,我们希望完全禁用警告,或者至少指定某些目录应排除的警告,因为

  1. 我们不会更改该代码
  2. 警告太多了,我们很容易错过自己的代码,应该解决

我看到了有关一些标志的文章,您应该可以通过这些标志来禁用“外部”文件的警告,但是在项目设置中看不到任何选项。

Barrnet Chou

有几种禁用警告的方法:

  1. Project Properties->C/C++->General->Warning Level->select level

这是Warning Level

  • 关闭所有警告(/ W0):关闭所有警告消息的显示。级别1(/ W1):显示严重警告消息。2级(/ W2):显示1级警告和一些不太严重的警告,例如有关隐藏的类成员的警告。这是命令行上的默认警告级别。级别3(/ W3):显示级别2警告和一些不太严重的警告,例如有关始终评估为true或false的表达式的警告。级别4(/ W4):显示所有级别3警告和信息性警告。

或者您可以选择禁用中的特定警告 Project Properties->C/C++->Advanced->Disable Specific Warnings

  1. 您可以使用警告编译指示

句法:

#pragma warning(
    warning-specifier : warning-number-list
    [; warning-specifier : warning-number-list ... ] )
#pragma warning( push [ , n ] )
#pragma warning( pop )

另外,您可以参考Microsoft有关如何:针对特定C / C ++警告启用和禁用代码分析的信息

启用或禁用代码分析警告

2.1。创建一个头文件,列出所有代码分析警告及其初始状态,如以下代码所示:

// WarningState.h
   #pragma warning ( default : 6001 )
   #pragma warning ( disable : 6011 )
// more warnings here 
// end of file

2.2。在应用程序头文件中包含WarningState.h。在这种情况下,MyApplication.h代表头文件。

// MyApplication.h file
   #include "WarningState.h"
// ...
// end of file

2.3。在源代码文件中包含MyApplication.h文件。在这种情况下,MyApplication.cpp代表源文件。

// MyApplication.cpp file
#include "MyApplication.h"

2.4。要修改警告状态,请在.cpp文件中使用编译指示警告说明符,如以下代码所示:

// MyApplication.cpp file
#include "MyApplication.h"
#pragma warning ( disable: 6001 )
#pragma warning ( default : 6001 )

禁用包含的第三方文件的所有代码分析警告

将以下代码添加到头文件中。

#include <codeanalysis\warnings.h>
#pragma warning( push )
#pragma warning ( disable : ALL_CODE_ANALYSIS_WARNINGS )
#include <third-party include files here>
#pragma warning( pop )

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何禁用Visual Studio 2012的警告?

来自分类Dev

Visual Studio项目目录问题

来自分类Dev

Visual Studio项目链接文件

来自分类Dev

修复移动的Visual Studio目录

来自分类Dev

Visual Studio不支持特定的csproj文件

来自分类Dev

Visual Studio不复制链接文件的目录

来自分类Dev

禁用Visual Studio中特定文件的警告

来自分类Dev

Visual Studio Cordova排除文件

来自分类Dev

Visual Studio关于具有不同内容的文件副本的警告

来自分类Dev

如何在Visual Studio Code RC5中禁用Ecmascript 6掉毛警告?

来自分类Dev

Visual Studio .natvis文件矩阵

来自分类Dev

在Visual Studio中禁用自动发现TypeScript文件

来自分类Dev

取消/禁用/解决Visual Studio生成警告

来自分类Dev

无法禁用Visual C ++中的警告

来自分类Dev

忽略Visual Studio中非项目文件中的警告

来自分类Dev

编译ARM64 C ++时禁用警告?Visual Studio 2019

来自分类Dev

为什么禁用特定警告在Visual Studio中不起作用

来自分类Dev

Visual Studio 2012-访问其他目录中的文件

来自分类Dev

Visual Studio工作目录

来自分类Dev

包括目录Visual Studio 2010

来自分类Dev

Visual Studio最近的文件路径

来自分类Dev

如何在Visual Studio中禁用TestResults文件夹?

来自分类Dev

使用Visual Studio禁用位码

来自分类Dev

在Visual Studio项目目录中找不到头文件

来自分类Dev

Visual Studio 2017 删除/禁用文件嵌套

来自分类Dev

Visual Studio 文件名

来自分类Dev

Visual Studio - javascript 文件生成几乎冻结 PC - 如何禁用

来自分类Dev

Visual Studio 2017 跨平台中的 Linux 特定头文件

来自分类Dev

启用/禁用警告、visual studio 命令提示